Scopira 20080306

archiveflow.h

00001 
00002 /*
00003  *  Copyright (c) 2004    National Research Council
00004  *
00005  *  All rights reserved.
00006  *
00007  *  This material is confidential and proprietary information of
00008  *  National Research Council Canada ("Confidential Information").
00009  *  This Confidential Information may only be used and reproduced
00010  *  in accordance with the terms of the license agreement.
00011  *
00012  */
00013  
00014 #ifndef __INCLUDED_SCOPIRA_TOOL_ARCHIVEFLOW_H__
00015 #define __INCLUDED_SCOPIRA_TOOL_ARCHIVEFLOW_H__
00016 
00017 #include <scopira/tool/polyflow.h>
00018 #include <scopira/tool/export.h>
00019 
00020 namespace scopira
00021 {
00022   namespace tool
00023   {
00024     class archiveiflow;
00025     class archiveoflow;
00026 
00027     //make quick one liners in the future?
00028     //bool write_object_archive(const std::string &filename, scopira::tool::object *o);
00029     // templated?
00030     //bool read_object_archive(const std::string &filename, scopira::tool::object *o);
00031   }
00032 }
00033 
00042 class scopira::tool::archiveiflow : public scopira::tool::isoiflow
00043 {
00044   public:
00046     SCOPIRA_EXPORT archiveiflow(void);
00047 
00049     SCOPIRA_EXPORT virtual bool failed(void) const;
00050 
00063     SCOPIRA_EXPORT std::string open(const std::string &filename, const std::string &tagprefix);
00064 };
00065 
00073 class scopira::tool::archiveoflow : public scopira::tool::isooflow
00074 {
00075   public:
00077     SCOPIRA_EXPORT archiveoflow(void);
00078 
00080     SCOPIRA_EXPORT virtual bool failed(void) const;
00081 
00091     SCOPIRA_EXPORT void open(const std::string &filename, const std::string &tagkey);
00092 };
00093 
00094 #endif
00095