QuaZIP  quazip-0-5-1
quagzipfile.h
1 #ifndef QUAZIP_QUAGZIPFILE_H
2 #define QUAZIP_QUAGZIPFILE_H
3 
4 #include <QIODevice>
5 #include "quazip_global.h"
6 
7 #include <zlib.h>
8 
9 class QuaGzipFilePrivate;
10 
12 
15 class QUAZIP_EXPORT QuaGzipFile: public QIODevice {
16  Q_OBJECT
17 public:
19 
22  QuaGzipFile();
24 
28  QuaGzipFile(QObject *parent);
30 
34  QuaGzipFile(const QString &fileName, QObject *parent = NULL);
36  virtual ~QuaGzipFile();
38  void setFileName(const QString& fileName);
40  QString getFileName() const;
42 
49  virtual bool isSequential() const;
51 
55  virtual bool open(QIODevice::OpenMode mode);
57 
63  virtual bool open(int fd, QIODevice::OpenMode mode);
65 
69  virtual bool flush();
71  virtual void close();
72 protected:
74  virtual qint64 readData(char *data, qint64 maxSize);
76  virtual qint64 writeData(const char *data, qint64 maxSize);
77 private:
78  // not implemented by design to disable copy
79  QuaGzipFile(const QuaGzipFile &that);
80  QuaGzipFile& operator=(const QuaGzipFile &that);
81  QuaGzipFilePrivate *d;
82 };
83 
84 #endif // QUAZIP_QUAGZIPFILE_H