#pragma once #include #include #include #include #include #include "java/File.h" class DataInputStream; class ArchiveFile { protected: File m_sourcefile; std::uint8_t* m_cachedData; typedef struct _MetaData { std::string filename; int ptr; int filesize; bool isCompressed; } MetaData, *PMetaData; std::unordered_map m_index; public: void _readHeader(DataInputStream* dis); ArchiveFile(File file); ~ArchiveFile(); std::vector* getFileList(); bool hasFile(const std::string& filename); int getFileSize(const std::string& filename); std::vector getFile(const std::string& filename); };