#ifndef BATGORANG__H
#include <list>
#include <string>
#include <map>
#include <unordered_map>
#define MYUNSORTEDMAP unordered_map  //hash_map이 C++11 에서 없어지고 unordered_map로 표준화됨
#define MYSORTEDMAP   map
using namespace std;

#define BATGORANG__H

#define BUILDOPT_LOGGERCLASSNAME     "BatGoRang"
#define BUILDOPT_LOGGEREXENAME       "GoRang.exe"
#define BATGORANG_MEMFILEMAP	     "BatGoRangMemFileMap"
#define BATGORANG_WINDOW	         "BatGoRang"//window class and title name
#define WM_BATGORANG WM_USER + 2002//message 

#define BATGORANG_CLEAR		0//subcommand in wParam
#define BATGORANG_GETDATA		1//subcommand in wParam
#define BATGORANG_SETDATA		2//subcommand in wParam
#define BATGORANG_SETCMD        3
#define BATGORANG_SYSTEMID    999
typedef struct	_BATGORANGDATA
{
    long id;
	char szCmd[32];
	char szKeyName[32];
	char szParam[2048];

}BATGORANGDATA,FAR *LPBATGORANGDATA;

typedef MYSORTEDMAP<string, string> LOGDIR_MAP;

extern long GoRangCmd(LPCSTR szcmd, LPCSTR szkeyname, LPCSTR szparam);
extern void GoRangLog(LPCSTR szkeyname,LPCSTR szbuff);
extern void SetSHMDataFromExternalProcess(LPBATGORANGDATA lpData);
extern HWND hGorangWnd;
#endif