// HMConfigFile.h: interface for the CFileList class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_FILELIST_H__9BD76395_D4EB_4173_A317_C040E5CF99AA__INCLUDED_) #define AFX_FILELIST_H__9BD76395_D4EB_4173_A317_C040E5CF99AA__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "BasedConfig.h" class FileListItem : public CObject { public: CString s_strName; CString s_strValue; FileListItem() { Reset(); } void Reset() { s_strName.Empty(); s_strValue.Empty(); } void SetItem(CString& strName, CString& strValue) { s_strName = strName; s_strValue = strValue; } void SetItem(CString& strItem) { if (strItem.IsEmpty()) return; int nTemp1 = 0, nTemp2 = 0, nTemp3 = 0; nTemp1 = strItem.Find('=', 0); nTemp2 = strItem.Find('`', 0); nTemp3 = strItem.Find('`', nTemp2 + 1); if (nTemp1 == -1 || nTemp2 == -1 || nTemp3 == -1) { s_strName = strItem; s_strName.TrimRight(_T("\r")); s_strName.TrimRight(_T("\n")); return; } s_strName = strItem.Left(nTemp1); s_strName.TrimLeft(_T(" ")); s_strName.TrimRight(_T(" ")); s_strName.TrimRight(_T("\r")); s_strName.TrimRight(_T("\n")); s_strValue.Empty(); s_strValue = strItem.Mid(nTemp2 + 1, nTemp3 - nTemp2 - 1); s_strValue.TrimLeft(_T(" ")); s_strValue.TrimRight(_T(" ")); s_strValue.TrimRight(_T("\r")); s_strValue.TrimRight(_T("\n")); } }; class CFileList : public CBasedConfig { public: CFileList(); // CFileList(char* szFilename); // »ó´ë°æ·Î virtual ~CFileList(); BOOL Initialize(HKEY hKey, CString strKey, CString strFilename); ////////////////////////////////////////////////////////////////////////// BOOL SetItemValue(CString strName, CString& strValue); BOOL SetItemValue(CString strName, int& nValue); BOOL SetItemValue(CString strName, unsigned short &sValue); BOOL SetItemValue(CString strName, double& dValue); BOOL SetItemValue(int nIdx, CString strName, CString& strValue); BOOL SetItemValue(int nIdx, CString strName, int& nValue); BOOL SetItemValue(int nIdx, CString strName, unsigned short &sValue); BOOL SetItemValue(int nIdx, CString strName, double& dValue); ////////////////////////////////////////////////////////////////////////// int GetItemValue(CString strName, CString& strValue, CString strDefault = _T("")); int GetItemValue(CString strName, int& nValue, int nDefault = 0); int GetItemValue(CString strName, unsigned short &nValue, unsigned short sDefault = 0); int GetItemValue(CString strName, double& dValue, double dDefault = 0); int GetItemValue(int nIdx, CString strName, CString& strValue, CString strDefault = _T("")); int GetItemValue(int nIdx, CString strName, int& nValue, int nDefault = 0); int GetItemValue(int nIdx, CString strName, unsigned short &nValue, unsigned short sDefault = 0); int GetItemValue(int nIdx, CString strName, double& dValue, double dDefault = 0); BOOL RemoveAllItem(); BOOL RemoveItem(CString strName); BOOL RemoveItem(int nIdx, CString strName); BOOL WriteToFile(); void SetRewriteMode(BOOL bRewrite); BOOL GetRewriteMode(); // OhByungGil Modify -> LogFile Write void SetLogMode(BOOL bMode); BOOL GetLogMode(); void SetLogFilePath(CString strLogFilePath); CString GetLogFilePath(); protected: void WriteLog( CString strName, CString strValue ); void WriteLog( CString strName, int& nValue ); void WriteLog( CString strName, unsigned short &nValue ); void WriteLog( CString strName, double& dValue ); BOOL WriteToLogFile(CString& strContents); private: CString m_strFileName; CObList m_ItemList; int m_nItemCount; BOOL m_bRewrite; CString m_strLogFileName; // OhByungGil 100531 BOOL m_bLogMode; CRITICAL_SECTION m_cs; }; #endif // !defined(AFX_FILELIST_H__9BD76395_D4EB_4173_A317_C040E5CF99AA__INCLUDED_)