#include "StdAfx.h" #include "MBStrObjMgr.h" CMBStrObjMgr::CMBStrObjMgr(void) { RemoveAll(); } CMBStrObjMgr::~CMBStrObjMgr(void) { RemoveAll(); } void CMBStrObjMgr::GetObjMap( CMBStrObjMap &map) { map.clear(); m_map = map; } CMBStrObj *CMBStrObjMgr::Get( CString strID ) { if( strID.IsEmpty() ) return NULL; CMBStrObjMap::iterator it; CMBStrObj *pObj = NULL; it = m_map.find(strID); if( it!= m_map.end() ) pObj = it->second; return pObj; } bool CMBStrObjMgr::Add( CMBStrObj *pObj ) { if( NULL == pObj || pObj->m_strID.IsEmpty() ) return false; CMBStrObjMap::iterator it; CString strID; strID = pObj->m_strID; it = m_map.find(strID); // Èç¹ûÕҵõ½ ·µ»Ø if( it != m_map.end() ) return false; m_map[strID] = pObj; return true; } bool CMBStrObjMgr::RemoveAll() { CMBStrObjMap::iterator it; CMBStrObj *pObj = NULL; for( it = m_map.begin();it != m_map.end();it++ ) { pObj = it->second; delete pObj; pObj = NULL; } m_map.clear(); return true; }