Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
archive.h
Go to the documentation of this file.
1 
8 #ifndef ARCHIVE_H_
9 #define ARCHIVE_H_
10 
11 #include <QBuffer>
12 #include "core/tar.h"
13 #include <iostream>
14 
15 class QByteArray;
16 class QString;
17 
18 class CAArchive {
19 public:
20  CAArchive();
21  CAArchive(QIODevice& arch);
22  qint64 write(QIODevice& dest);
23  virtual ~CAArchive();
24 
25  // interface to CATar
26  inline bool addFile(const QString& filename, QIODevice& data) { if(!error()) return _tar->addFile(filename, data); else return false; }
27  inline bool addFile(const QString& filename, QByteArray data) { if(!error()) return _tar->addFile(filename, data); else return false; }
28  inline void removeFile(const QString& filename) { if(!error()) _tar->removeFile(filename); }
29  inline CAIOPtr file(const QString& filename) { if(!error()) return _tar->file(filename); else return CAIOPtr(new QBuffer()); }
30  inline bool error() { return _err || _tar->error(); }
31  inline const QString& version() { return _version; }
32 protected:
33  static const int CHUNK;
34  static const QString COMMENT;
35 
36  QString _version;
37  bool _err;
38  void parse(QIODevice&);
39  int getOS();
40 
42 };
43 
44 #endif /* ARCHIVE_H_ */
Class for the manipulation of tar files.
Definition: tar.h:22
CAArchive()
Definition: archive.cpp:37
bool addFile(const QString &filename, QByteArray data)
Definition: archive.h:27
static const int CHUNK
Definition: archive.h:33
Class for the manipulation of a gzipped tar archive (tar.gz)
Definition: archive.h:18
bool error()
Definition: tar.h:38
void removeFile(const QString &filename)
Definition: tar.cpp:232
static const QString COMMENT
Definition: archive.h:34
qint64 write(QIODevice &dest)
Definition: archive.cpp:151
void removeFile(const QString &filename)
Definition: archive.h:28
bool addFile(const QString &filename, QIODevice &data)
Definition: archive.h:26
void parse(QIODevice &)
Definition: archive.cpp:63
QString _version
Definition: archive.h:36
bool _err
Definition: archive.h:37
CATar * _tar
Definition: archive.h:41
bool addFile(const QString &filename, QIODevice &data, bool replace=true)
Definition: tar.cpp:170
int getOS()
Definition: archive.cpp:246
const QString & version()
Definition: archive.h:31
virtual ~CAArchive()
Definition: archive.cpp:55
CAIOPtr file(const QString &filename)
Definition: archive.h:29
auto_ptr< QIODevice > CAIOPtr
Definition: tar.h:18
bool error()
Definition: archive.h:30
CAIOPtr file(const QString &filename)
Definition: tar.cpp:249