mirror of
https://github.com/libretro/Mesen.git
synced 2024-12-03 15:12:17 +00:00
28 lines
660 B
C++
28 lines
660 B
C++
#pragma once
|
|
#include "stdafx.h"
|
|
#include "ArchiveReader.h"
|
|
#include "../SevenZip/7z.h"
|
|
#include "../SevenZip/7zAlloc.h"
|
|
#include "../SevenZip/7zCrc.h"
|
|
#include "../SevenZip/7zTypes.h"
|
|
#include "../SevenZip/7zMemBuffer.h"
|
|
|
|
class SZReader : public ArchiveReader
|
|
{
|
|
private:
|
|
CMemBufferInStream _memBufferStream;
|
|
CLookToRead _lookStream;
|
|
CSzArEx _archive;
|
|
ISzAlloc _allocImp{ SzAlloc, SzFree };
|
|
ISzAlloc _allocTempImp{ SzAllocTemp, SzFreeTemp };
|
|
|
|
protected:
|
|
bool InternalLoadArchive(void* buffer, size_t size);
|
|
vector<string> InternalGetFileList();
|
|
|
|
public:
|
|
SZReader();
|
|
virtual ~SZReader();
|
|
|
|
bool ExtractFile(string filename, vector<uint8_t> &output);
|
|
}; |