gloox 1.0.24
compressionbase.h
1/*
2 Copyright (c) 2005-2019 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
15#ifndef COMPRESSIONBASE_H__
16#define COMPRESSIONBASE_H__
17
18#include "gloox.h"
19#include "compressiondatahandler.h"
20
21#include <string>
22
23namespace gloox
24{
25
34 class GLOOX_API CompressionBase
35 {
36 public:
42 CompressionBase( CompressionDataHandler* cdh ) : m_handler( cdh ), m_valid( false ) {}
43
47 virtual ~CompressionBase() {}
48
54 virtual bool init() = 0;
55
60 virtual void compress( const std::string& data ) = 0;
61
66 virtual void decompress( const std::string& data ) = 0;
67
72 virtual void cleanup() = 0;
73
74 protected:
77
79 bool m_valid;
80
81 };
82
83}
84
85#endif // COMPRESSIONBASE_H__
This is an abstract base class for stream compression implementations.
virtual void compress(const std::string &data)=0
CompressionDataHandler * m_handler
virtual void cleanup()=0
virtual bool init()=0
CompressionBase(CompressionDataHandler *cdh)
virtual void decompress(const std::string &data)=0
An abstract base class used to receive de/compressed data from a CompressionBase-derived object.
The namespace for the gloox library.
Definition: adhoc.cpp:28