#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;
|
|
};
|