QuaZIP quazip-0-5-1
quagzipfile.h
00001 #ifndef QUAZIP_QUAGZIPFILE_H
00002 #define QUAZIP_QUAGZIPFILE_H
00003 
00004 #include <QIODevice>
00005 #include "quazip_global.h"
00006 
00007 #include <zlib.h>
00008 
00009 class QuaGzipFilePrivate;
00010 
00012 
00015 class QUAZIP_EXPORT QuaGzipFile: public QIODevice {
00016   Q_OBJECT
00017 public:
00019 
00022   QuaGzipFile();
00024 
00028   QuaGzipFile(QObject *parent);
00030 
00034   QuaGzipFile(const QString &fileName, QObject *parent = NULL);
00036   virtual ~QuaGzipFile();
00038   void setFileName(const QString& fileName);
00040   QString getFileName() const;
00042 
00049   virtual bool isSequential() const;
00051 
00055   virtual bool open(QIODevice::OpenMode mode);
00057 
00063   virtual bool open(int fd, QIODevice::OpenMode mode);
00065 
00069   virtual bool flush();
00071   virtual void close();
00072 protected:
00074   virtual qint64 readData(char *data, qint64 maxSize);
00076   virtual qint64 writeData(const char *data, qint64 maxSize);
00077 private:
00078     // not implemented by design to disable copy
00079     QuaGzipFile(const QuaGzipFile &that);
00080     QuaGzipFile& operator=(const QuaGzipFile &that);
00081     QuaGzipFilePrivate *d;
00082 };
00083 
00084 #endif // QUAZIP_QUAGZIPFILE_H