2020-05-08 13:10:49 -07:00
|
|
|
#pragma once
|
2012-09-18 01:43:34 -07:00
|
|
|
|
2022-02-08 14:39:03 -08:00
|
|
|
#include <exception>
|
2014-04-18 23:13:34 -07:00
|
|
|
#include "types.h"
|
2012-09-18 01:43:34 -07:00
|
|
|
|
|
|
|
class ZlibDecompressor
|
|
|
|
{
|
|
|
|
public:
|
2022-02-08 14:39:03 -08:00
|
|
|
class DecompressError : std::exception {};
|
2012-09-18 01:43:34 -07:00
|
|
|
|
2022-02-08 14:39:03 -08:00
|
|
|
ZlibDecompressor(const u8 *data, size_t size);
|
2012-09-18 01:43:34 -07:00
|
|
|
~ZlibDecompressor();
|
2022-02-08 14:39:03 -08:00
|
|
|
void setSeekPos(size_t seekPos);
|
|
|
|
size_t seekPos() const;
|
2014-04-18 23:13:34 -07:00
|
|
|
ustring decompress();
|
2012-09-18 01:43:34 -07:00
|
|
|
|
|
|
|
private:
|
2022-02-08 14:39:03 -08:00
|
|
|
const u8 *m_data;
|
2022-02-09 13:46:07 -08:00
|
|
|
size_t m_seekPos, m_size;
|
2020-05-08 13:10:49 -07:00
|
|
|
};
|