OpenLexocad  27.0
Persistance.h
Go to the documentation of this file.
1 #ifndef __CA_Persistance_H__
2 #define __CA_Persistance_H__
3 #pragma warning(disable : 4251)
4 #include <Base/Base.h>
5 #include <Base/String.h>
6 #include <assert.h>
7 
8 #include "base_defines.h"
9 
10 
11 
12 namespace Base
13 {
14 class Reader;
15 class Writer;
16 class XMLReader;
17 class AbstractXMLReader;
18 class AbstractWriter;
19 
21 {
22 public:
23  int number;
24 };
25 
28 {
30 
31 public:
33  virtual void save(Base::AbstractWriter& /*writer*/, Base::PersistanceVersion& /*save_version*/) = 0;
34 
36  virtual void restore(Base::AbstractXMLReader& /*reader*/, Base::PersistanceVersion& /*version*/) = 0;
37 
39  virtual void saveDocFile(Base::AbstractWriter& /*writer*/, const Base::String& /*filename*/, const Base::String& /*tmpdir*/) { assert(0); }
41  virtual void restoreDocFile(Base::Reader& /*reader*/, const Base::String& /*tmpdir*/) { assert(0); }
43  virtual bool mustbeSaved() const { return false; }
44 
46  virtual bool createSQL(Base::AbstractWriter& /*writer*/, Base::PersistanceVersion& /*save_version*/, bool) { return false; }
47 };
48 
49 } // namespace Base
50 
51 
52 
53 #endif // __CA_Persistance_H__
virtual bool mustbeSaved() const
Return 'true' if this object must always be saved in the file.
Definition: Persistance.h:43
virtual void saveDocFile(Base::AbstractWriter &, const Base::String &, const Base::String &)
This method is used to save large amounts of data to a binary file.
Definition: Persistance.h:39
int number
Definition: Persistance.h:23
virtual void restoreDocFile(Base::Reader &, const Base::String &)
This method is used to restore large amounts of data from a binary file.
Definition: Persistance.h:41
#define BASE_EXPORT
Definition: base_defines.h:12
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:29
Definition: Persistance.h:20
Definition: Writer.h:209
Persistance class and root of the type system.
Definition: Persistance.h:27
Definition: AbstractXMLReader.h:10
BaseClass class and root of the type system.
Definition: Base.h:92
Definition: Writer.h:27
Definition: AbstractXMLReader.h:8
TYPESYSTEM_HEADER()
virtual bool createSQL(Base::AbstractWriter &, Base::PersistanceVersion &, bool)
This method is used to save properties or very small amounts of data to an XML document.
Definition: Persistance.h:46