diff options
Diffstat (limited to 'src/lib/compression/zlib/zlib.h')
-rw-r--r-- | src/lib/compression/zlib/zlib.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/lib/compression/zlib/zlib.h b/src/lib/compression/zlib/zlib.h new file mode 100644 index 000000000..55da47a0d --- /dev/null +++ b/src/lib/compression/zlib/zlib.h @@ -0,0 +1,61 @@ +/* +* Zlib Compressor +* (C) 2001 Peter J Jones +* 2001-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ + +#ifndef BOTAN_ZLIB_H__ +#define BOTAN_ZLIB_H__ + +#include <botan/compression.h> + +namespace Botan { + +/** +* Zlib Compression +*/ +class BOTAN_DLL Zlib_Compression : public Stream_Compression + { + public: + /** + * @param level how much effort to use on compressing (0 to 9); + * higher levels are slower but tend to give better + * compression + * @param raw_deflate if true no zlib header/trailer will be used + */ + Zlib_Compression(size_t level = 6, bool raw_deflate = false) : + m_level(level), m_raw_deflate(raw_deflate) {} + + std::string name() const override { return "Zlib_Compression"; } + + private: + Compression_Stream* make_stream() const; + + const size_t m_level; + const bool m_raw_deflate; + }; + +/** +* Zlib Deccompression +*/ +class BOTAN_DLL Zlib_Decompression : public Stream_Decompression + { + public: + /** + * @param raw_deflate if true no zlib header/trailer will be used + */ + Zlib_Decompression( bool raw_deflate = false) : m_raw_deflate(raw_deflate) {} + + std::string name() const override { return "Zlib_Decompression"; } + + private: + Compression_Stream* make_stream() const; + + const bool m_raw_deflate; + }; + +} + +#endif |