Canorus 0.0
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
15class QByteArray;
16class QString;
17
18class CAArchive {
19public:
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; }
32protected:
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 a gzipped tar archive (tar.gz)
Definition: archive.h:18
QString _version
Definition: archive.h:36
CAIOPtr file(const QString &filename)
Definition: archive.h:29
bool addFile(const QString &filename, QIODevice &data)
Definition: archive.h:26
int getOS()
Definition: archive.cpp:246
void removeFile(const QString &filename)
Definition: archive.h:28
const QString & version()
Definition: archive.h:31
CATar * _tar
Definition: archive.h:41
virtual ~CAArchive()
Definition: archive.cpp:55
bool _err
Definition: archive.h:37
static const int CHUNK
Definition: archive.h:33
CAArchive()
Definition: archive.cpp:37
bool addFile(const QString &filename, QByteArray data)
Definition: archive.h:27
bool error()
Definition: archive.h:30
void parse(QIODevice &)
Definition: archive.cpp:63
static const QString COMMENT
Definition: archive.h:34
qint64 write(QIODevice &dest)
Definition: archive.cpp:151
Class for the manipulation of tar files.
Definition: tar.h:23
CAIOPtr file(const QString &filename)
Definition: tar.cpp:250
bool error()
Definition: tar.h:38
bool addFile(const QString &filename, QIODevice &data, bool replace=true)
Definition: tar.cpp:171
void removeFile(const QString &filename)
Definition: tar.cpp:233
unique_ptr< QIODevice > CAIOPtr
Definition: tar.h:18