compressionzlib.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef COMPRESSIONZLIB_H__
00015 #define COMPRESSIONZLIB_H__
00016
00017 #include "compressionbase.h"
00018 #include "mutex.h"
00019
00020 #include "config.h"
00021
00022 #ifdef HAVE_ZLIB
00023
00024 #include <zlib.h>
00025
00026 #include <string>
00027
00028 namespace gloox
00029 {
00036 class GLOOX_API CompressionZlib : public CompressionBase
00037 {
00038 public:
00043 CompressionZlib( CompressionDataHandler* cdh );
00044
00048 virtual ~CompressionZlib();
00049
00050
00051 virtual bool init();
00052
00053
00054 virtual void compress( const std::string& data );
00055
00056
00057 virtual void decompress( const std::string& data );
00058
00059
00060 virtual void cleanup();
00061
00062 private:
00063 z_stream m_zinflate;
00064 z_stream m_zdeflate;
00065
00066 util::Mutex m_compressMutex;
00067
00068 };
00069
00070 }
00071
00072 #endif // HAVE_ZLIB
00073
00074 #endif // COMPRESSIONZLIB_H__