Files
Sun1602/Utility/FilePackerManager.h
2022-10-26 12:25:11 +08:00

50 lines
1.1 KiB
C++

#pragma once
#include "Singleton.h"
#include "SolarFileReader.h"
class CPackFile;
enum ePACKOBJECT_TYPE
{
ePACKOBJECT_SYSTEM = 0,
ePACKOBJECT_RESOURCE,
};
namespace util
{
class FilePackerManager : public util::Singleton<FilePackerManager>
{
public:
FilePackerManager();
~FilePackerManager();
VOID Release();
BOOL OpenPackFile( char * pszPackFileName );
BOOL OpenPackFile( wchar_t * pszPackFileName);
CPackFile* GetPackFile( char * pszPackFileName, const char * pszFileName);
CPackFile* GetSystemPackObj() { return m_pobPackFileSystem; }
CPackFile* GetResourcePackObj() { return m_pobPackFileResource; }
CPackFile* GetPackObj( char * pszPackFileName );
CPackFile* GetPackObj( wchar_t * pszPackFileName);
int GetPackObjType( char * pszPackFileName );
int GetPackObjType( wchar_t * pszPackFileName);
void testPackFile();
private:
BOOL _openPackFile(int iType, char * pszPackFileName);
private :
CPackFile *m_pobPackFileSystem;
CPackFile *m_pobPackFileResource;
};
}
#define PACKER_MANAGER() util::FilePackerManager::Instance()