#include "StdAfx.h" #include ".\functionmap.h" FunctionMap::FunctionMap(void) { } FunctionMap::~FunctionMap(void) { } VOID FunctionMap::Release() { for( FUNC_ITER itr = m_mapFucntion.begin(); itr != m_mapFucntion.end();) { BASE_FUNC *pFunc = itr->second; if( pFunc ) { delete pFunc; pFunc = NULL; } itr = m_mapFucntion.erase(itr); } } BOOL FunctionMap::Add( BASE_FUNC* pFunc ) { FUNC_ITER iter; //ÇöÀç ¶È°°Àº Ű °ªÀÌ ÀÖ´ÂÁö üũ. if( m_mapFucntion.size() > 0 ) { iter = m_mapFucntion.find( pFunc->m_wFuncKey ); if( iter != m_mapFucntion.end() ) //ÇöÀç ¶È±ùÀº ۰ªÀÌ ÀÖ´Ù¸é. return FALSE; } //¿©±â¿¡ ¿À¸é.. ¸Ê µ¥ÀÌÅͰ¡ ¾ø°Å³ª, ¶È°°Àº Ű °ªÀÌ ¾ø´Â °æ¿ìÀÌ´Ù. m_mapFucntion.insert( std::make_pair(pFunc->m_wFuncKey, pFunc) ); return TRUE; } BASE_FUNC* FunctionMap::Find( WORD wFuncKey ) { FUNC_ITER iter; BASE_FUNC* pFindFunc = NULL; //ÇöÀç ¶È°°Àº Ű °ªÀÌ ÀÖ´ÂÁö üũ. if( m_mapFucntion.size() > 0 ) { iter = m_mapFucntion.find( wFuncKey ); if( iter != m_mapFucntion.end() ) //ÇöÀç ¶È±ùÀº ۰ªÀÌ ÀÖ´Ù¸é. pFindFunc = iter->second; } return pFindFunc; }