quaziodevice.h
00001 #ifndef QUAZIP_QUAZIODEVICE_H
00002 #define QUAZIP_QUAZIODEVICE_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 QuaZIODevicePrivate;
00034
00036
00041 class QUAZIP_EXPORT QuaZIODevice: public QIODevice {
00042 Q_OBJECT
00043 public:
00045
00049 QuaZIODevice(QIODevice *io, QObject *parent = NULL);
00051 ~QuaZIODevice();
00053
00073 virtual bool flush();
00075
00079 virtual bool open(QIODevice::OpenMode mode);
00081
00085 virtual void close();
00087 QIODevice *getIoDevice() const;
00089 virtual bool isSequential() const;
00091 virtual bool atEnd() const;
00093 virtual qint64 bytesAvailable() const;
00094 protected:
00096 virtual qint64 readData(char *data, qint64 maxSize);
00098 virtual qint64 writeData(const char *data, qint64 maxSize);
00099 private:
00100 QuaZIODevicePrivate *d;
00101 };
00102 #endif // QUAZIP_QUAZIODEVICE_H