Files
Sun1602/Tools/WiseClient/Application/VEntryRouter.cpp
T
2022-10-26 12:25:11 +08:00

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