#pragma once
|
|
#include "akCoreLinker.h"
|
|
#include <map>
|
#include <hash_map>
|
#include <string>
|
#include <Windows.h>
|
#include <atlstr.h>
|
|
//hash_mapÀ» »ç¿ëÇÏ´Â °æ¿ì
|
//1. ¸¹Àº ÀڷḦ ÀúÀåÇϰí, °Ë»ö ¼Óµµ°¡ »¡¶ó¾ß ÇÑ´Ù.
|
//2. ³Ê¹« ºó¹øÇÏ°Ô ÀڷḦ »ðÀÔ, »èÁ¦ ÇÏÁö ¾Ê´Â´Ù.
|
//3. key°ªÀ¸·Î CstringÀ» ¾²Áö ¸øÇÑ´Ù.(±¸ºÐÇØ¼ Ŭ·¡½º¸¦ ¸¸µç ÀÌÀ¯!!)
|
#define ITEMSEP "_#" //±¸ºÐÀÚ
|
|
|
|
//#define mapIDVal std::multimap<CString, CString>
|
#define mapHash stdext::hash_map<std::string, std::string>
|
#define mapHashIt mapHash::iterator
|
|
class AKCORE_DLLSPEC CakFileDBHash
|
{
|
public:
|
CakFileDBHash(void);
|
~CakFileDBHash(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 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);
|
|
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);
|
|
|
|
protected:
|
mapHash m_mapData;
|
|
CRITICAL_SECTION m_csAkFileDB;
|
};
|