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 XMLTARSTREAM_H
00029 #define XMLTARSTREAM_H
00030
00031 #include "XMLStream.h"
00032 #include "Tar.h"
00033
00034 namespace QGpCoreTools {
00035
00036 class XMLTarStream : public XMLStream
00037 {
00038 public:
00039 XMLTarStream(QIODevice::OpenMode m);
00040 ~XMLTarStream();
00041
00042 bool open(QString fileName);
00043 inline bool addXmlFile();
00044
00045 virtual bool isMultiFile() const {return true;}
00046 inline virtual void addFile(QString fileName, const QByteArray& data);
00047 inline virtual bool file(QString fileName, QByteArray& data);
00048 private:
00049 QIODevice::OpenMode _mode;
00050 QByteArray * _xml;
00051 Tar * _file;
00052 };
00053
00054 inline void XMLTarStream::addFile(QString fileName, const QByteArray& data)
00055 {
00056 TRACE;
00057 _file->addFile(fileName, data);
00058 }
00059
00060 inline bool XMLTarStream::file(QString fileName, QByteArray& data)
00061 {
00062 TRACE;
00063 return _file->file(fileName, data);
00064 }
00065
00066 inline bool XMLTarStream::addXmlFile()
00067 {
00068 TRACE;
00069 flush();
00070 return _file->addFile( "contents.xml", *_xml);
00071 }
00072
00073 }
00074
00075 #endif // XMLTARSTREAM_H