/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.12.04 * ³» ¿ë : ÆÄÀÏ ½Ã½ºÅÛ * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once class cFileToRead; class cFileToWrite; class cMemFileToRead; class cFileToReadW; class cMemFileToReadW; /// ÆÄÀÏ ½Ã½ºÅÛ class cFileSystem { static cFileSystem* mSingleton; public: cFileSystem(); virtual ~cFileSystem(); /// Àбâ Àü¿ë ÆÄÀÏ ¿­±â virtual cFileToRead* OpenFileToRead( const cString& pathName ); virtual cMemFileToRead* OpenMemFileToRead( const cString& pathName ); cFileToRead* OpenFileToRead_NoPack( const cString& pathName ); cMemFileToRead* OpenMemFileToRead_NoPack( const cString& pathName ); /// ¾²±â Àü¿ë ÆÄÀÏ ¿­±â virtual cFileToWrite* OpenFileToWrite( const cString& pathName ); virtual bool FileExist( const cString& pathName ); LPCRITICAL_SECTION GetReadCS() { return &m_ReadCS; } LPCRITICAL_SECTION GetWriteCS() { return &m_WriteCS; } //---------------------------- virtual cFileToReadW* OpenFileToReadW( const cStringW& pathName ); virtual cMemFileToReadW* OpenMemFileToReadW( const cStringW& pathName ); cFileToReadW* OpenFileToRead_NoPackW( const cStringW& pathName ); cMemFileToReadW* OpenMemFileToRead_NoPackW( const cStringW& pathName ); virtual cFileToWriteW* OpenFileToWriteW( const cStringW& pathName ); virtual bool FileExistW( const cStringW& pathName ); public: /// ´ÜÀÏü¸¦ ¸®ÅÏ static cFileSystem* GetSingleton(); CRITICAL_SECTION m_ReadCS; CRITICAL_SECTION m_WriteCS; }; inline cFileSystem* cFileSystem::GetSingleton() { return mSingleton; } #define FILESYSTEM cFileSystem::GetSingleton()