00001 /* 00002 * Worldvisions Weaver Software: 00003 * Copyright (C) 1997-2002 Net Integration Technologies, Inc. 00004 * 00005 * gzip encoder/decoders based on zlib. 00006 */ 00007 #ifndef __WVGZIP_H 00008 #define __WVGZIP_H 00009 00010 #include "wvencoder.h" 00011 00012 struct z_stream_s; 00013 00014 class WvGzip : public WvEncoder 00015 { 00016 struct z_stream_s *zstr; 00017 WvMiniBuffer tmpbuf; 00018 00019 public: 00020 bool okay; 00021 00022 enum GzipMode { Compress, Decompress } mode; 00023 00024 WvGzip(GzipMode _mode); 00025 virtual ~WvGzip(); 00026 00027 virtual bool isok() const; 00028 00029 virtual size_t do_encode(const unsigned char *in, size_t insize, 00030 bool flush); 00031 }; 00032 00033 00034 #endif // __WVGZIP_H