#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 InternalGetFileList(); public: SZReader(); virtual ~SZReader(); bool ExtractFile(string filename, vector &output); };