VR-Forces 4.1 Class Documentation
archivableObject.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2003 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: archivableObject.h,v $ $Revision: 1.8 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DTARCHIVABLEOBJECT_H_
13 #define DTARCHIVABLEOBJECT_H_
14 
16 
17 #include <QtCore/QObject>
18 #include <QtCore/QString>
19 
20 class DtArchiver;
21 class QTextStream;
22 class DtArchivableObject;
23 
24 typedef DtArchivableObject* (*DtArchivableObjectCreator)();
25 
26 #define IMPLEMENT_ARCHIVABLE_CREATOR(name, fcn) static DtArchivableObject impl(#name, fcn); \
27  const char* name::creatorName() { return #name; }
28 
29 #define DECLARE_ARCHIVABLE_CREATOR() virtual const char* creatorName();
30 
32 {
33 public:
37  DtArchivableObject(QString name);
39 
40  virtual ~DtArchivableObject();
41 
42  virtual QString name() const;
43 
45  DtArchiver* archiver();
46 
47 public:
49  virtual void read(QTextStream& s);
50  virtual void write(QTextStream& s);
51 
52  virtual void setLevel(int i);
53  virtual int level() const;
54 
56  virtual DtArchivableObject* clone();
57 
59 
60 protected:
62 };
63 
65 {
66  return myArchiver;
67 }
68 
69 DT_DLL_archiver QTextStream& operator<<(QTextStream& s, DtArchivableObject& obj);
70 DT_DLL_archiver QTextStream& operator>>(QTextStream& s, DtArchivableObject& obj);
71 
72 #endif

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)