46 lines
940 B
C++
46 lines
940 B
C++
#include "stdafx.h"
|
|
|
|
#include "VEntryRouter.h"
|
|
|
|
// TODO: 필요한 추가 헤더는
|
|
// 이 파일이 아닌 stdafx.h에서 참조합니다.
|
|
|
|
static SolutionRouter* s_SolutionInstance = NULL;
|
|
|
|
SolutionRouter* SolutionRouter::Instance()
|
|
{
|
|
if(s_SolutionInstance)
|
|
return s_SolutionInstance;
|
|
s_SolutionInstance = new SolutionRouter;
|
|
return s_SolutionInstance;
|
|
};
|
|
|
|
void SolutionRouter::DestroyInstance()
|
|
{
|
|
SAFE_DELETE(s_SolutionInstance);
|
|
}
|
|
|
|
BOOL SolutionRouter::Register(eWISE_ROUTINES eList, BaseCodeHandler handler)
|
|
{
|
|
SolutionRouter* ROUTER = SolutionRouter::Instance();
|
|
ROUTER->m_HANDLER_MAP[eList] = handler;
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
BOOL SolutionRouter::Execute(eWISE_ROUTINES eList)
|
|
{
|
|
SolutionRouter* ROUTER = SolutionRouter::Instance();
|
|
HANDLER_MAP& fnHASH = ROUTER->m_HANDLER_MAP;
|
|
|
|
HANDLER_MAP_IT itFIND = fnHASH.find(eList);
|
|
if(itFIND == fnHASH.end())
|
|
return FALSE;
|
|
|
|
BaseCodeHandler handler = itFIND->second;
|
|
handler();
|
|
|
|
return TRUE;
|
|
}
|
|
|