/media/hdb5/canorusNightlyBuildSystem/trunk/src/core/archive.h

Go to the documentation of this file.
00001 
00008 #ifndef ARCHIVE_H_
00009 #define ARCHIVE_H_
00010 
00011 #include <QBuffer>
00012 #include "core/tar.h"
00013 #include <iostream>
00014 
00015 class QByteArray;
00016 
00017 class CAArchive {
00018 public:
00019         CAArchive();
00020         CAArchive(QIODevice& arch);
00021         qint64 write(QIODevice& dest);
00022         virtual ~CAArchive();
00023 
00024         // interface to CATar
00025         inline bool addFile(const QString& filename, QIODevice& data) { if(!error()) return _tar->addFile(filename, data); else return false; }
00026         inline bool addFile(const QString& filename, QByteArray data) { if(!error()) return _tar->addFile(filename, data); else return false; }
00027         inline void removeFile(const QString& filename) { if(!error()) _tar->removeFile(filename); }
00028         inline CAIOPtr file(const QString& filename) { if(!error()) return _tar->file(filename); else return CAIOPtr(new QBuffer());  }
00029         inline bool error() { return _err ||  _tar->error(); }  
00030 protected:
00031         static const int CHUNK;
00032         static const char* VERSION;
00033         bool _err;
00034         void parse(QIODevice&);
00035         int getOS();
00036 
00037         CATar *_tar;
00038 };
00039 
00040 #endif /* ARCHIVE_H_ */

Generated on Sat Feb 9 13:06:25 2008 for Canorus by  doxygen 1.5.3