#include "StdAfx.h"
|
#include "MBBaseAreaMgr.h"
|
|
IMPLEMENT_DYNAMIC(CMBBaseAreaMgr, CMBAbstBaseObj)
|
|
CMBBaseAreaMgr::CMBBaseAreaMgr(void)
|
{
|
RemoveAllAreaObj();
|
}
|
|
|
CMBBaseAreaMgr::~CMBBaseAreaMgr(void)
|
{
|
RemoveAllAreaObj();
|
}
|
|
// Ìí¼ÓÊý¾Ý
|
bool CMBBaseAreaMgr::AddAreaObj(CMBBaseAreaObj *pAreaObj)
|
{
|
if( NULL == pAreaObj || pAreaObj->m_strID.IsEmpty() )
|
return false;
|
|
CMBBaseAreaObjMap::iterator it;
|
CString strID;
|
|
strID = pAreaObj->m_strID;
|
it = m_mapAreaObj.find(strID);
|
|
// Èç¹ûÕҵõ½ ·µ»Ø
|
if( it != m_mapAreaObj.end() )
|
return false;
|
|
m_mapAreaObj[strID] = pAreaObj;
|
m_vectorAreaObj.push_back(pAreaObj);
|
|
return true;
|
}
|
|
// ²éÕÒ
|
CMBBaseAreaObj *CMBBaseAreaMgr::GetAreaObj( CString strID )
|
{
|
if( strID.IsEmpty() )
|
{
|
return NULL;
|
}
|
|
CMBBaseAreaObjMap::iterator it;
|
CMBBaseAreaObj *pAreaObj = NULL;
|
|
it = m_mapAreaObj.find(strID);
|
|
if( it!= m_mapAreaObj.end() )
|
pAreaObj = it->second;
|
|
return pAreaObj;
|
}
|
|
// µÃµ½µÚÒ»¸öareaInfo
|
CMBBaseAreaObj *CMBBaseAreaMgr::GetFirstAreaObj( )
|
{
|
CMBBaseAreaObjVector::iterator it;
|
it = m_vectorAreaObj.begin();
|
return *it;
|
}
|
|
// Çå¿ÕÈÝÆ÷
|
void CMBBaseAreaMgr::EmptyContainer()
|
{
|
m_mapAreaObj.clear();
|
m_vectorAreaObj.clear();
|
}
|
|
|
// ÒÆ³ý
|
bool CMBBaseAreaMgr::RemoveAllAreaObj()
|
{
|
CMBBaseAreaObjMap::iterator it;
|
CMBBaseAreaObj *pAreaObj = NULL;
|
|
for( it = m_mapAreaObj.begin();it != m_mapAreaObj.end();it++ )
|
{
|
pAreaObj = it->second;
|
delete pAreaObj;
|
pAreaObj = NULL;
|
}
|
|
m_mapAreaObj.clear();
|
m_vectorAreaObj.clear();
|
return true;
|
}
|
|
bool CMBBaseAreaMgr::GetBaseObjVector( CMBBaseObjVector &vectorObj )
|
{
|
CMBBaseAreaObjVector::iterator it;
|
CMBBaseAreaObj *pAreaObj = NULL;
|
|
for( it = m_vectorAreaObj.begin();it != m_vectorAreaObj.end();it++ )
|
{
|
pAreaObj = *it;
|
vectorObj.push_back(pAreaObj);
|
}
|
|
return true;
|
}
|
|
void CMBBaseAreaMgr::GetAreaObjMap( CMBBaseAreaObjMap &mapAreaObj)
|
{
|
mapAreaObj.clear();
|
mapAreaObj = m_mapAreaObj;
|
}
|
|
void CMBBaseAreaMgr::GetAreaObjVector( CMBBaseAreaObjVector &vectorAreaObj)
|
{
|
vectorAreaObj.clear();
|
vectorAreaObj = m_vectorAreaObj;
|
}
|