#include "zip.h" #include #include #include #include class VFS { public: VFS(); ~VFS(); bool AddArchive(std::string path); bool ContainsFile(std::string path); bool ContainsFile(std::wstring path); bool ContainsHandle(HANDLE hFile); HANDLE CreateFileW(std::wstring path); bool ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead); void CloseHandle(HANDLE hFile); DWORD GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh); DWORD SetFilePointer(HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod); std::unordered_map files; std::string GetBasePath(); private: std::string base_path; std::list archives; std::unordered_map handles; };