/* */ #ifndef D_GZIP_FILE_H #define D_GZIP_FILE_H #include "IOFile.h" #include namespace aria2 { class GZipFile: public IOFile { public: GZipFile(const char* filename, const char* mode); virtual ~GZipFile(); protected: virtual size_t onRead(void* ptr, size_t count); virtual size_t onWrite(const void* ptr, size_t count); virtual char* onGets(char* s, int size); virtual int onVprintf(const char* format, va_list va); virtual int onFlush(); virtual int onClose(); virtual bool onSupportsColor(); virtual bool isError() const; virtual bool isEOF() const; virtual bool isOpen() const; private: // Don't allow copying GZipFile(const GZipFile&); GZipFile& operator=(const GZipFile&); gzFile fp_; size_t buflen_; char* buf_; }; } // namespace aria2 #endif // D_GZIP_FILE_H