Files
Aerofoil/PortabilityLayer/DeflateCodec.h

41 lines
830 B
C
Raw Normal View History

#pragma once
#include <stdint.h>
2020-09-12 13:32:53 -04:00
class GpIOStream;
namespace PortabilityLayer
{
2020-10-17 22:56:27 -04:00
class DeflateContext
{
public:
static DeflateContext *Create(GpIOStream *stream, int compressionLevel);
virtual void Destroy() = 0;
virtual bool Append(const void *buffer, size_t size) = 0;
virtual bool Flush() = 0;
2020-10-19 18:51:18 -04:00
static uint32_t CRC32(uint32_t inputValue, const void *buffer, size_t bufferLength);
2020-10-17 22:56:27 -04:00
};
2021-03-07 04:24:13 -05:00
class InflateContext
{
public:
static InflateContext *Create();
virtual void Destroy() = 0;
virtual bool Append(const void *buffer, size_t size, size_t &sizeConsumed) = 0;
virtual bool Read(void *buffer, size_t size, size_t &sizeRead) = 0;
virtual bool Reset() = 0;
};
class DeflateCodec
{
public:
2020-09-12 13:32:53 -04:00
static bool DecompressStream(GpIOStream *stream, size_t inSize, void *outBuffer, size_t outSize);
};
}