123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #ifndef GZIP_H__
- #define GZIP_H__
- #include <zlib.h>
- namespace i2p {
- namespace data {
- class GzipInflator
- {
- public:
- GzipInflator ();
- ~GzipInflator ();
- size_t Inflate (const uint8_t * in, size_t inLen, uint8_t * out, size_t outLen);
- /** @note @a os failbit will be set in case of error */
- void Inflate (const uint8_t * in, size_t inLen, std::ostream& os);
- void Inflate (std::istream& in, std::ostream& out);
- private:
- z_stream m_Inflator;
- bool m_IsDirty;
- };
- class GzipDeflator
- {
- public:
- GzipDeflator ();
- ~GzipDeflator ();
- void SetCompressionLevel (int level);
- size_t Deflate (const uint8_t * in, size_t inLen, uint8_t * out, size_t outLen);
- private:
- z_stream m_Deflator;
- bool m_IsDirty;
- };
- } // data
- } // i2p
- #endif /* GZIP_H__ */
|