#ifndef _RYL_DBAGENT_DB_DATA_H_ #define _RYL_DBAGENT_DB_DATA_H_ //forward decl. class CDBComponent; namespace DBAgent { namespace DataStorage { // forward decl. class CSessionData; class CDBDataMgr; class IDBData { public: virtual ~IDBData() { } virtual unsigned long GetKey() const = 0; //! Key°¡ µÇ´Â °ªÀ» ¾ò¾î ¿Â´Ù. virtual unsigned long GetLastDBUpdateTime() const = 0; //! ¸¶Áö¸·À¸·Î DB¿¡ ¾÷µ¥ÀÌÆ® ÇÑ ½Ã°£À» ¾ò¾î¿Â´Ù. virtual bool UpdateDBData(CDBComponent& DBComponent) = 0; //! DB¿¡ µ¥ÀÌÅ͸¦ ¾÷µ¥ÀÌÆ®ÇÑ´Ù. virtual bool IsDataChanged() const = 0; //! µ¥ÀÌÅͰ¡ º¯°æµÇ¾ú´ÂÁö ¿©ºÎ¸¦ ¸®ÅÏ //! °¡Áö°í ÀÖ´Â µ¥ÀÌÅ͸¦ ÆÄÀÏ·Î ´ýÇÁ¸¦ ³²±â°Å³ª, ÆÄÀÏ¿¡¼­ µ¥ÀÌÅ͸¦ ºÒ·¯ ¿Â´Ù. virtual bool WriteDataToDumpFile(const char* szFileName) = 0; virtual bool ReadDataFromDumpFile(const char* szFileName) = 0; protected: //! DB¿¡¼­ µ¥ÀÌÅ͸¦ ºÒ·¯¿Â´Ù. virtual bool GetFromDB(CDBComponent& DBComponent, unsigned long dwKey) = 0; friend class CDBDataMgr; }; } } #endif