aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/compression/zlib/zlib.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/compression/zlib/zlib.h')
-rw-r--r--src/lib/compression/zlib/zlib.h37
1 files changed, 36 insertions, 1 deletions
diff --git a/src/lib/compression/zlib/zlib.h b/src/lib/compression/zlib/zlib.h
index 55da47a0d..5805efb57 100644
--- a/src/lib/compression/zlib/zlib.h
+++ b/src/lib/compression/zlib/zlib.h
@@ -46,7 +46,7 @@ class BOTAN_DLL Zlib_Decompression : public Stream_Decompression
/**
* @param raw_deflate if true no zlib header/trailer will be used
*/
- Zlib_Decompression( bool raw_deflate = false) : m_raw_deflate(raw_deflate) {}
+ Zlib_Decompression(bool raw_deflate = false) : m_raw_deflate(raw_deflate) {}
std::string name() const override { return "Zlib_Decompression"; }
@@ -56,6 +56,41 @@ class BOTAN_DLL Zlib_Decompression : public Stream_Decompression
const bool m_raw_deflate;
};
+/**
+* Gzip Compression
+*/
+class BOTAN_DLL Gzip_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
+ */
+ Gzip_Compression(size_t level = 6, byte os_code = 255) :
+ m_level(level), m_os_code(os_code) {}
+
+ std::string name() const override { return "Gzip_Compression"; }
+
+ private:
+ Compression_Stream* make_stream() const;
+
+ const size_t m_level;
+ const byte m_os_code;
+ };
+
+/**
+* Gzip Decompression
+*/
+class BOTAN_DLL Gzip_Decompression : public Stream_Compression
+ {
+ public:
+ std::string name() const override { return "Gzip_Decompression"; }
+
+ private:
+ Compression_Stream* make_stream() const;
+ };
+
}
#endif