Files
Aerofoil/unpacktool/CompactProLZHRLEDecompressor.h
2020-05-09 21:05:58 -04:00

27 lines
641 B
C++

#pragma once
#include "IDecompressor.h"
#include "PrefixCode.h"
struct IFileReader;
class IDecompressor;
class CompactProLZHDecompressor;
class CompactProRLEDecompressor;
class CompactProLZHRLEDecompressor : public IDecompressor
{
public:
explicit CompactProLZHRLEDecompressor(int blockSize);
~CompactProLZHRLEDecompressor();
bool Reset(CSInputBuffer *input, size_t compressedSize, size_t decompressedSize) override;
bool ReadBytes(void *dest, size_t numBytes) override;
private:
IFileReader *m_proxyReader;
CSInputBuffer *m_proxyInput;
IDecompressor *m_lzhDecompressor;
IDecompressor *m_rleDecompressor;
int m_blockSize;
};