00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef QGZIPDEVICE_H
00023 #define QGZIPDEVICE_H
00024
00025 #include "QIODevice.h"
00026
00027 namespace FX {
00028
00069 struct QGZipDevicePrivate;
00070 class FXAPIR QGZipDevice : public QIODevice
00071 {
00072 QGZipDevicePrivate *p;
00073 QGZipDevice(const QGZipDevice &);
00074 QGZipDevice &operator=(const QGZipDevice &);
00075 public:
00076 QGZipDevice(QIODevice *gzdata=0);
00077 ~QGZipDevice();
00079 QIODevice *GZData() const;
00081 void setGZData(QIODevice *gzdata);
00082
00083 virtual bool open(FXuint mode);
00084 virtual void close();
00085 virtual void flush();
00086 virtual FXfval size() const;
00087 virtual void truncate(FXfval size);
00088 virtual FXfval at() const;
00089 virtual bool at(FXfval newpos);
00090 virtual bool atEnd() const;
00091 virtual FXuval readBlock(char *data, FXuval maxlen);
00092 virtual FXuval writeBlock(const char *data, FXuval maxlen);
00093 virtual FXuval readBlockFrom(char *data, FXuval maxlen, FXfval pos);
00094 virtual FXuval writeBlockTo(FXfval pos, const char *data, FXuval maxlen);
00095 virtual int getch();
00096 virtual int putch(int c);
00097 virtual int ungetch(int c);
00098 };
00099
00100 }
00101
00102 #endif