VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
archiver
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
15
#include "
archiver/archiverDefines.h
"
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
31
class
DT_DLL_archiver
DtArchivableObject
:
public
QObject
32
{
33
public
:
36
DtArchivableObject
(QString name,
DtArchivableObjectCreator
fcn);
37
DtArchivableObject
(QString name);
38
DtArchivableObject
();
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
58
DECLARE_ARCHIVABLE_CREATOR
()
59
60
protected
:
61
DtArchiver
*
myArchiver
;
62
};
63
64
inline
DtArchiver
*
DtArchivableObject::archiver
()
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 Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)