quagzipfile.h
00001 #ifndef QUAZIP_QUAGZIPFILE_H
00002 #define QUAZIP_QUAGZIPFILE_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include <QIODevice>
00029 #include "quazip_global.h"
00030
00031 #include <zlib.h>
00032
00033 class QuaGzipFilePrivate;
00034
00036
00039 class QUAZIP_EXPORT QuaGzipFile: public QIODevice {
00040 Q_OBJECT
00041 public:
00043
00046 QuaGzipFile();
00048
00052 QuaGzipFile(QObject *parent);
00054
00058 QuaGzipFile(const QString &fileName, QObject *parent = NULL);
00060 virtual ~QuaGzipFile();
00062 void setFileName(const QString& fileName);
00064 QString getFileName() const;
00066
00073 virtual bool isSequential() const;
00075
00079 virtual bool open(QIODevice::OpenMode mode);
00081
00087 virtual bool open(int fd, QIODevice::OpenMode mode);
00089
00093 virtual bool flush();
00095 virtual void close();
00096 protected:
00098 virtual qint64 readData(char *data, qint64 maxSize);
00100 virtual qint64 writeData(const char *data, qint64 maxSize);
00101 private:
00102
00103 QuaGzipFile(const QuaGzipFile &that);
00104 QuaGzipFile& operator=(const QuaGzipFile &that);
00105 QuaGzipFilePrivate *d;
00106 };
00107
00108 #endif // QUAZIP_QUAGZIPFILE_H