[an error occurred while processing this directive]
Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

hugin_base/appbase/DocumentData.h

Go to the documentation of this file.
00001 // -*- c-basic-offset: 4 -*-
00031 #ifndef _APPBASE_DOCUMENTDATA_H
00032 #define _APPBASE_DOCUMENTDATA_H
00033 
00034 #include <string>
00035 #include <hugin_shared.h>
00036 
00037 namespace AppBase { 
00038     
00042 class IMPEX DocumentData
00043 {
00044         
00045     public:
00047         virtual ~DocumentData() {};
00048         
00049 
00050     public:
00051         enum ReadWriteError { SUCCESSFUL=-1, UNKNOWN_ERROR, INCOMPATIBLE_TYPE, INVALID_DATA, PARCER_ERROR };
00052             
00053         virtual ReadWriteError readData(std::istream& dataInput, std::string documentType = "") =0;
00054         virtual ReadWriteError writeData(std::ostream& dataOutput, std::string documentType = "") =0;
00055         
00056         
00057     public:
00058         virtual bool isDirty() const
00059             { return m_dirty; }
00060         
00061         virtual void clearDirty()
00062             { setDirty(false); };
00063             
00064     protected:
00065         virtual void setDirty(const bool& dirty = true)
00066             { m_dirty = dirty; };
00067             
00068             
00069     private:
00070         bool m_dirty;
00071         
00072 };
00073 
00074 
00075     
00076 }; //namespace
00077 #endif //_H

Generated on Mon Sep 20 01:01:27 2010 for Hugintrunk by doxygen 1.3.9.1