gloox 1.0.27
compressiondefault.h
1/*
2 * Copyright (c) 2009-2023 by Jakob Schröter <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
19namespace 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__
This is an abstract base class for stream compression implementations.
An abstract base class used to receive de/compressed data from a CompressionBase-derived object.
This is an abstraction of the various Compression implementations.
The namespace for the gloox library.
Definition: adhoc.cpp:28