gloox  1.0
compressiondefault.h
1 /*
2  * Copyright (c) 2009 by Jakob Schroeter <js@camaya.net>
3  * This file is part of the gloox library. http://camaya.net/gloox
4  *
5  * This software is distributed under a license. The full license
6  * agreement can be found in the file LICENSE in this distribution.
7  * This software may not be copied, modified, sold or distributed
8  * other than expressed in the named license agreement.
9  *
10  * This software is distributed without any warranty.
11  */
12 
13 
14 #ifndef COMPRESSIONDEFAULT_H__
15 #define COMPRESSIONDEFAULT_H__
16 
17 #include "compressionbase.h"
18 
19 namespace gloox
20 {
21 
22  class CompressionDataHandler;
23 
30  class GLOOX_API CompressionDefault : public CompressionBase
31  {
32  public:
33 
37  enum Method
38  {
39  MethodZlib = 1,
40  MethodLZW = 2
41  };
42 
48  CompressionDefault( CompressionDataHandler* cdh, Method method = MethodZlib );
49 
53  virtual ~CompressionDefault();
54 
59  static int types();
60 
61  // reimplemented from CompressionBase
62  virtual bool init();
63 
64  // reimplemented from CompressionBase
65  virtual void compress( const std::string& data );
66 
67  // reimplemented from CompressionBase
68  virtual void decompress( const std::string& data );
69 
70  // reimplemented from CompressionBase
71  virtual void cleanup();
72 
73  private:
74  CompressionBase* m_impl;
75 
76  };
77 
78 }
79 
80 #endif // COMPRESSIONDEFAULT_H__