00001
00002
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00031
00032 #ifndef RCSC_GZ_GZCOMPRESSOR_H
00033 #define RCSC_GZ_GZCOMPRESSOR_H
00034
00035 #include <boost/scoped_ptr.hpp>
00036
00037 #include <string>
00038
00039 namespace rcsc {
00040
00041 class GZCompressorImpl;
00042 class GZDecompressorImpl;
00043
00048 class GZCompressor {
00049 private:
00050
00052 boost::scoped_ptr< GZCompressorImpl > M_impl;
00053
00054 public:
00055
00060 explicit
00061 GZCompressor( const int level = 6 );
00062
00066 ~GZCompressor();
00067
00073 int setLevel( const int level );
00074
00082 int compress( const char * src_buf,
00083 const int src_size,
00084 std::string & dest );
00085
00086 };
00087
00088
00090
00095 class GZDecompressor {
00096 private:
00097
00099 boost::scoped_ptr< GZDecompressorImpl > M_impl;
00100
00101 public:
00102
00106 GZDecompressor();
00107
00111 ~GZDecompressor();
00112
00119 int decompress( const char * src_buf,
00120 const int src_size,
00121 std::string & dest );
00122
00123 };
00124
00125 }
00126
00127 #endif