compressionbase.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef COMPRESSIONBASE_H__
00016 #define COMPRESSIONBASE_H__
00017
00018 #include "gloox.h"
00019 #include "compressiondatahandler.h"
00020
00021 #include <string>
00022
00023 namespace gloox
00024 {
00025
00034 class GLOOX_API CompressionBase
00035 {
00036 public:
00042 CompressionBase( CompressionDataHandler* cdh ) : m_handler( cdh ), m_valid( false ) {}
00043
00047 virtual ~CompressionBase() {}
00048
00054 virtual bool init() = 0;
00055
00060 virtual void compress( const std::string& data ) = 0;
00061
00066 virtual void decompress( const std::string& data ) = 0;
00067
00072 virtual void cleanup() = 0;
00073
00074 protected:
00076 CompressionDataHandler* m_handler;
00077
00079 bool m_valid;
00080
00081 };
00082
00083 }
00084
00085 #endif // COMPRESSIONBASE_H__