22 #include <QtCore/QObject>
23 #include <QtCore/QRect>
24 #include <QtGui/QColor>
25 #include <QtCore/QString>
26 #include <QtCore/QTextStream>
27 #include <QtCore/QLinkedList>
28 #include <QtCore/QList>
29 #include <QtCore/QHash>
59 virtual void add(QString value,
int* toWrite);
60 virtual void add(QString value,
short* toWrite);
62 virtual void add(QString value, QPen* toWrite);
63 virtual void add(QString value, QColor* toWrite);
64 virtual void add(QString value,
double* toWrite);
65 virtual void add(QString value,
bool* toWrite);
66 virtual void add(QString value,
float* toWrite);
67 virtual void add(QString value, QString* toWrite);
68 virtual void add(QString value,
char* toWrite);
69 virtual void add(QString value, QPoint* toWrite);
70 virtual void add(QString value, QPointF* toWrite);
72 virtual void add(QString value, QRect* toWrite);
74 virtual void add(QString value, QStringList* toWrite);
76 virtual void add(QString value,
void* toWrite,
80 template <
typename Key,
typename Value>
void add(QString value,
81 QHash<Key, Value>* toWrite);
83 template <
typename T>
void add(QString value,
QList<T>* toWrite);
84 template <
typename T>
void add(QString value,
QLinkedList<T>* toWrite);
85 template <
typename T>
void add(QString value, QVector<T>* toWrite);
88 virtual void remove(
void* toWrite);
90 virtual void setLevel(
int iLevel);
91 virtual int level()
const;
93 virtual void setName(QString name);
94 virtual QString name()
const;
103 static void cleanupCreators();
107 virtual void read(QTextStream& ts);
108 virtual void write(QTextStream& ts);
109 virtual void writeObject(QTextStream& ts,
int level,
DtArchiveObject* obj);
113 virtual void writeLevel(QTextStream& ts,
int iLevel);
120 virtual void parseBlock(QTextStream& ts);
123 virtual QString readBlock(QTextStream& ts);
126 virtual QString readNamedBlock(QString& name, QTextStream& ts);
130 virtual void buildArchiveDictionary(QTextStream& block);
178 virtual void write(QTextStream& ts);
179 virtual void read(QTextStream& ts);
181 virtual QString name()
const;
182 virtual void* toWrite();
184 virtual void setLevel(
int i);
185 virtual int level()
const;
187 virtual void setWriteLevel(
bool b);
188 virtual bool writeLevel()
const;
202 static void writeArchivableObject(QTextStream& ts,
DtArchiveObject* obj);
203 static void readArchivableObject(QTextStream& ts,
DtArchiveObject* obj);
232 template <
typename T>
static void writeCollection(
235 template <
typename T>
static void readCollection(
244 template <
typename T>
static void writeList(
247 template <
typename T>
static void readList(QTextStream& ts,
250 template <
typename T>
static void writeVectorList(
253 template <
typename T>
static void readVectorList(QTextStream& ts,
256 template <
typename Key,
typename Value>
static void writeDictionary(
259 template <
typename Key,
typename Value>
static void readDictionary(
266 virtual void writeLevel(QTextStream& ts,
int iLevel);
280 #include "archiver/archiver.inl"