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 
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_ */
CAArchive::CAArchive
CAArchive()
Definition: archive.cpp:37
z_stream_s::next_in
Bytef * next_in
Definition: zlib.h:83
CAArchive::version
const QString & version()
Definition: archive.h:31
inflateInit2
#define inflateInit2
Definition: miniz.h:454
Z_BUF_ERROR
#define Z_BUF_ERROR
Definition: miniz.h:426
CAArchive::write
qint64 write(QIODevice &dest)
Definition: archive.cpp:151
CAArchive::removeFile
void removeFile(const QString &filename)
Definition: archive.h:28
CAArchive::getOS
int getOS()
Definition: archive.cpp:246
Z_FINISH
#define Z_FINISH
Definition: miniz.h:417
CAArchive::file
CAIOPtr file(const QString &filename)
Definition: archive.h:29
z_stream_s::zfree
free_func zfree
Definition: zlib.h:95
CATar::open
bool open(QIODevice &dest)
Definition: tar.h:35
Z_STREAM_ERROR
#define Z_STREAM_ERROR
Definition: miniz.h:423
inflateEnd
#define inflateEnd
Definition: miniz.h:456
gz_header_s::comment
Bytef * comment
Definition: zlib.h:119
z_stream_s::avail_in
uInt avail_in
Definition: zlib.h:84
CATar::eof
bool eof(QIODevice &dest)
Definition: tar.cpp:405
CAArchive::parse
void parse(QIODevice &)
Definition: archive.cpp:63
tar.h
CATar::removeFile
void removeFile(const QString &filename)
Definition: tar.cpp:233
Z_OK
#define Z_OK
Definition: miniz.h:419
CAArchive::addFile
bool addFile(const QString &filename, QIODevice &data)
Definition: archive.h:26
CATar::close
void close(QIODevice &dest)
Definition: tar.h:36
z_stream_s::avail_out
uInt avail_out
Definition: zlib.h:88
Z_DEFLATED
#define Z_DEFLATED
Definition: miniz.h:438
Z_DEFAULT_COMPRESSION
#define Z_DEFAULT_COMPRESSION
Definition: miniz.h:432
gz_header_s
Definition: zlib.h:109
CATar
Class for the manipulation of tar files.
Definition: tar.h:23
CAArchive::_tar
CATar * _tar
Definition: archive.h:41
Z_NULL
#define Z_NULL
Definition: miniz.h:412
z_stream_s::zalloc
alloc_func zalloc
Definition: zlib.h:94
CATar::addFile
bool addFile(const QString &filename, QIODevice &data, bool replace=true)
Definition: tar.cpp:171
CAArchive::COMMENT
static const QString COMMENT
Definition: archive.h:34
z_stream_s
Definition: zlib.h:82
deflate
#define deflate
Definition: miniz.h:447
gz_header_s::os
int os
Definition: zlib.h:113
CAArchive::CHUNK
static const int CHUNK
Definition: archive.h:33
CAArchive::addFile
bool addFile(const QString &filename, QByteArray data)
Definition: archive.h:27
deflateInit2
#define deflateInit2
Definition: miniz.h:445
gz_header_s::comm_max
uInt comm_max
Definition: zlib.h:120
archive.h
Z_STREAM_END
#define Z_STREAM_END
Definition: miniz.h:420
CAArchive::error
bool error()
Definition: archive.h:30
CATar::write
qint64 write(QIODevice &dest, qint64 chunk)
Definition: tar.cpp:325
z_stream_s::next_out
Bytef * next_out
Definition: zlib.h:87
Z_DEFAULT_STRATEGY
#define Z_DEFAULT_STRATEGY
Definition: miniz.h:433
CATar::file
CAIOPtr file(const QString &filename)
Definition: tar.cpp:250
CAArchive::_err
bool _err
Definition: archive.h:37
inflate
#define inflate
Definition: miniz.h:455
CAArchive::_version
QString _version
Definition: archive.h:36
Z_NO_FLUSH
#define Z_NO_FLUSH
Definition: miniz.h:413
z_stream_s::opaque
voidpf opaque
Definition: zlib.h:96
deflateEnd
#define deflateEnd
Definition: miniz.h:448
CAIOPtr
unique_ptr< QIODevice > CAIOPtr
Definition: tar.h:18
CAArchive
Class for the manipulation of a gzipped tar archive (tar.gz)
Definition: archive.h:18
zlib.h
CAArchive::~CAArchive
virtual ~CAArchive()
Definition: archive.cpp:55
CATar::error
bool error()
Definition: tar.h:38