QuaZIP quazip-0-5
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 
00011 class QUAZIP_EXPORT QuaGzipFile: public QIODevice {
00012   Q_OBJECT
00013 public:
00014   QuaGzipFile();
00015   QuaGzipFile(QObject *parent);
00016   QuaGzipFile(const QString &fileName, QObject *parent = NULL);
00017   virtual ~QuaGzipFile();
00018   void setFileName(const QString& fileName);
00019   QString getFileName() const;
00020   virtual bool isSequential() const;
00021   virtual bool open(QIODevice::OpenMode mode);
00022   virtual bool open(int fd, QIODevice::OpenMode mode);
00023   virtual bool flush();
00024   virtual void close();
00025 protected:
00026   virtual qint64 readData(char *data, qint64 maxSize);
00027   virtual qint64 writeData(const char *data, qint64 maxSize);
00028 private:
00029     // not implemented by design to disable copy
00030     QuaGzipFile(const QuaGzipFile &that);
00031     QuaGzipFile& operator=(const QuaGzipFile &that);
00032     QuaGzipFilePrivate *d;
00033 };
00034 
00035 #endif // QUAZIP_QUAGZIPFILE_H