SDC C-Project CF Review 프로그램
LYW
2021-07-08 9cbd9e554f9956b3b945b51602f1d4a3fa0353e1
ReviewHistory/include/akCore/akFileDB.h
»õ ÆÄÀÏ
@@ -0,0 +1,80 @@
#pragma once
#include "akCoreLinker.h"
#include <atlstr.h>
#include <map>
#include <vector>
#include <Windows.h>
//hash_map을 ì‚¬ìš©í•˜ëŠ” ê²½ìš°
//1. ë§Žì€ ìžë£Œë¥¼ ì €ìž¥í•˜ê³ , ê²€ìƒ‰ ì†ë„ê°€ ë¹¨ë¼ì•¼ í•œë‹¤.
//2. ë„ˆë¬´ ë¹ˆë²ˆí•˜ê²Œ ìžë£Œë¥¼ ì‚½ìž…, ì‚­ì œ í•˜ì§€ ì•ŠëŠ”ë‹¤.
#define ITEMSEP "_#" //구분자
#define mapIDVal std::map<CString, CString>
#define mapIDValIt mapIDVal::iterator
class AKCORE_DLLSPEC CakFileDB
{
public:
   CakFileDB(void);
   ~CakFileDB(void);
   bool openfile(char* filename);
   bool savefile(char* filename);
   void clear();
   void setWriteEnter(); //동기화 ê°ì²´ ì‹œìž‘
   void setWriteRelease();  //동기화 ê°ì²´ ì¤‘ì§€
   //단일 ë°ì´í„°
   void setItem(char* strKey, char* strVal);
   void setItem(char* strKey, int nVal);
   void setItem(char* strKey, float fVal);
   void setItem(char* strKey, double dVal);
   void setItem(char* strKey, long dVal);
   void getItem(char* strKey, CString* strVal, char* strDefaultVal = "");
   void getItem(char* strKey, char* strVal, char* strDefaultVal = "");
   void getItem(char* strKey, int* nVal, int nDefaultVal = 0);
   void getItem(char* strKey, float* fVal, float fDefaultVal = 0);
   void getItem(char* strKey, double* dVal, double dDefaultVal = 0);
   void getItem(char* strKey, long* dVal, long dDefaultVal = 0);
   char* getItemPoint(char* strKey);
   //다중 ë°ì´í„° ê´€ë¦¬
   void setItemClear(char* strKey);
   int  getItemNum(char* strKey);
   void setItem(int nIndex, char* strKey, char* strVal);
   void setItem(int nIndex, char* strKey, int nVal);
   void setItem(int nIndex, char* strKey, float fVal);
   void setItem(int nIndex, char* strKey, double dVal);
   void getItem(int nIndex, char* strKey, CString* strVal, char* strDefaultVal = "");
   void getItem(int nIndex, char* strKey, char* strVal, char* strDefaultVal = "");
   void getItem(int nIndex, char* strKey, int* nVal, int nDefaultVal = 0);
   void getItem(int nIndex, char* strKey, float* fVal, float fDefaultVal = 0);
   void getItem(int nIndex, char* strKey, double* dVal, double dDefaultVal = 0);
   char* getItemPoint(int nIndex, char* strKey);
   int deleteItem(char* strKey); //
   int deleteItem(int nIndex); //
protected:
   mapIDVal m_mapData;
   std::vector<mapIDValIt> m_vecOrder;
   CRITICAL_SECTION m_csAkFileDB;
};