/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.12.16 * ³» ¿ë : ¸Þ¸ð¸® ÆÄÀÏ, ÆÄÀÏÆÑ ³»ºÎ ¸Þ¸ð¸® ÆÄÀÏ * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "File.h" /// Àбâ Àü¿ë ¸Þ¸ð¸® ÆÄÀÏ class cMemFileToRead : public cFileToRead { friend class cFilePack; public: cMemFileToRead(); virtual ~cMemFileToRead(); /// ¿­±â virtual bool Open( const cString& pathName ); /// ´Ý±â /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. virtual int Close(); /// µ¥ÀÌŸ Àбâ /// ÀÐ¾î µéÀÎ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇÑ´Ù. /// ½ÇÆÐÇϰųª ÆÄÀÏ ³¡¿¡ µµ´ÞÇϸé 0À» ¸®ÅÏÇÑ´Ù. virtual unsigned int Read( void* buffer, unsigned int bytes ); /// ÇÑ ÁÙ Àбâ /// ÀÐ¾î µéÀÎ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇÑ´Ù. /// ½ÇÆÐÇϰųª ÆÄÀÏ ³¡¿¡ µµ´ÞÇϸé 0À» ¸®ÅÏÇÑ´Ù. /// ÁÖÀÇ: ÁÙ ³¡¿¡ ³Î¹®ÀÚ¸¦ Ãß°¡ÇϹǷΠÃÖ´ë bufferSize-1 ¸¸Å­À» ÀÐ¾î µéÀδÙ. virtual unsigned int ReadLine( char* buffer, unsigned int bufferSize ); /// ³»ºÎ À§Ä¡ À̵¿ /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. virtual int Seek( unsigned int offset, int origin = SEEK_SET ); /// ³»ºÎ À§Ä¡ ¾ò±â /// ½ÇÆÐÇϸé 0À» ¸®ÅÏÇÑ´Ù. virtual unsigned int Tell() const; /// ÆÄÀÏ ³¡¿¡ µµ´ÞÇß´ÂÁö ¿©ºÎ¸¦ ¸®ÅÏ virtual bool IsEnd() const; /// ¸Þ¸ð¸® ¹öÆÛ¸¦ ¸®ÅÏ const tArray& GetBuffer() const; /// ¸Þ¸ð¸® ¹öÆÛ Æ÷ÀÎÅ͸¦ ¸®ÅÏ const char* GetBufferPtr(); protected: /// ¹öÆÛ¾È¿¡¼­ÀÇ À§Ä¡ unsigned int mPos; /// ¹öÆÛ typedef tArray cBuffer; cBuffer mBuffer; }; #if defined(_CLIENT) || defined(_MODELVIEW) || defined(REGEN_TOOL) || defined(MAP_EDITOR) /// Àбâ Àü¿ë ÆÄÀÏÆÑ ³»ºÎ ¸Þ¸ð¸® ÆÄÀÏ class cMemFileInPackToRead : public cMemFileToRead { public: cMemFileInPackToRead(); virtual ~cMemFileInPackToRead(); /// ¿­±â bool Open( cFilePack* pack, int fileIndex = -1 ); /// ´Ý±â /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. int Close(); }; #endif //---------------------------------------------------------- /// Àбâ Àü¿ë ¸Þ¸ð¸® ÆÄÀÏ class cMemFileToReadW : public cFileToReadW { friend class cFilePack; public: cMemFileToReadW(); virtual ~cMemFileToReadW(); /// ¿­±â virtual bool Open( const cStringW& pathName ); /// ´Ý±â /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. virtual int Close(); /// µ¥ÀÌŸ Àбâ /// ÀÐ¾î µéÀÎ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇÑ´Ù. /// ½ÇÆÐÇϰųª ÆÄÀÏ ³¡¿¡ µµ´ÞÇϸé 0À» ¸®ÅÏÇÑ´Ù. virtual unsigned int Read( void* buffer, unsigned int bytes ); /// ÇÑ ÁÙ Àбâ /// ÀÐ¾î µéÀÎ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇÑ´Ù. /// ½ÇÆÐÇϰųª ÆÄÀÏ ³¡¿¡ µµ´ÞÇϸé 0À» ¸®ÅÏÇÑ´Ù. /// ÁÖÀÇ: ÁÙ ³¡¿¡ ³Î¹®ÀÚ¸¦ Ãß°¡ÇϹǷΠÃÖ´ë bufferSize-1 ¸¸Å­À» ÀÐ¾î µéÀδÙ. virtual unsigned int ReadLine( wchar_t* buffer, unsigned int bufferSize ); /// ³»ºÎ À§Ä¡ À̵¿ /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. virtual int Seek( unsigned int offset, int origin = SEEK_SET ); /// ³»ºÎ À§Ä¡ ¾ò±â /// ½ÇÆÐÇϸé 0À» ¸®ÅÏÇÑ´Ù. virtual unsigned int Tell() const; /// ÆÄÀÏ ³¡¿¡ µµ´ÞÇß´ÂÁö ¿©ºÎ¸¦ ¸®ÅÏ virtual bool IsEnd() const; /// ¸Þ¸ð¸® ¹öÆÛ¸¦ ¸®ÅÏ const tArray& GetBuffer() const; /// ¸Þ¸ð¸® ¹öÆÛ Æ÷ÀÎÅ͸¦ ¸®ÅÏ const wchar_t* GetBufferPtr(); protected: /// ¹öÆÛ¾È¿¡¼­ÀÇ À§Ä¡ unsigned int mPos; /// ¹öÆÛ typedef tArray cBuffer; cBuffer mBuffer; }; #if defined(_CLIENT) || defined(_MODELVIEW) || defined(REGEN_TOOL) || defined(MAP_EDITOR) /// Àбâ Àü¿ë ÆÄÀÏÆÑ ³»ºÎ ¸Þ¸ð¸® ÆÄÀÏ class cMemFileInPackToReadW : public cMemFileToReadW { public: cMemFileInPackToReadW(); virtual ~cMemFileInPackToReadW(); /// ¿­±â bool Open( cFilePack* pack, int fileIndex = -1 ); /// ´Ý±â /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. int Close(); }; #endif