Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef XMLSTREAM_H
00029 #define XMLSTREAM_H
00030
00031 #include <QtCore>
00032
00033 namespace QGpCoreTools {
00034
00035 class XMLStream
00036 {
00037 protected:
00038 XMLStream(QByteArray * a, QIODevice::OpenMode m);
00039 XMLStream(QString * s, QIODevice::OpenMode m);
00040 public:
00041 virtual ~XMLStream() {}
00042
00043 void setFileName(QString fileName) {_fileName=fileName;}
00044 const QString& fileName() const {return _fileName;}
00045
00046 const QString& indent() const {return _indent;}
00047 void incrementIndent() {_indent += " ";}
00048 void decrementIndent() {_indent.chop(2);}
00049
00050 virtual bool isMultiFile() const=0;
00051 virtual void addFile(QString fileName, const QByteArray& data) {Q_UNUSED(fileName); Q_UNUSED(data);}
00052 virtual bool file( ::QString fileName, QByteArray& data) {Q_UNUSED(fileName); Q_UNUSED(data); return false;}
00053
00054 QTextStream& operator<<(const QString& string) {_xml << string; return _xml;}
00055 void flush() {_xml.flush();}
00056 private:
00057 QString _fileName;
00058
00059 QTextStream _xml;
00060 QString _indent;
00061 };
00062
00063 }
00064
00065 #endif // XMLSTREAM_H