/* */ #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) CXX11_OVERRIDE; virtual size_t onWrite(const void* ptr, size_t count) CXX11_OVERRIDE; virtual char* onGets(char* s, int size) CXX11_OVERRIDE; virtual int onVprintf(const char* format, va_list va) CXX11_OVERRIDE; virtual int onFlush() CXX11_OVERRIDE; virtual int onClose() CXX11_OVERRIDE; virtual bool onSupportsColor() CXX11_OVERRIDE; virtual bool isError() const CXX11_OVERRIDE; virtual bool isEOF() const CXX11_OVERRIDE; virtual bool isOpen() const CXX11_OVERRIDE; 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