class Core::Portable::CompressionHandler

#include <corezipstream.h>

class CompressionHandler
{
public:
    // fields

    float compressionLevel;
    int windowBits;
    ZlibCompressorStream* compressor;
    ZlibDecompressorStream* decompresssor;

    // construction

    CompressionHandler(
        float compressionLevel = ZlibCompressorStream::getPreferredLevel(),
        int windowBits = 15
    );

    // methods

    float getCompressionLevel() const;
    int getWindowBits() const;
    bool zip(IO::Stream& dstStream, const void* buffer, int size);
    bool unzip(IO::Stream& dstStream, const void* buffer, int size);
    ZlibCompressorStream& getCompressor();
    ZlibDecompressorStream& getDecompressor();
};