#include "StdAfx.h"
|
#include "MBBaseCabinetMgr.h"
|
|
IMPLEMENT_DYNAMIC(CMBBaseCabinetMgr, CMBAbstBaseObj)
|
|
CMBBaseCabinetMgr::CMBBaseCabinetMgr(void)
|
{
|
RemoveAllCabinetObj();
|
}
|
|
|
CMBBaseCabinetMgr::~CMBBaseCabinetMgr(void)
|
{
|
RemoveAllCabinetObj();
|
}
|
|
|
|
bool CMBBaseCabinetMgr::AddCabinetObj(CMBBaseCabinetObj *pCabinetObj)
|
{
|
if( NULL == pCabinetObj || pCabinetObj->m_strID.IsEmpty() )
|
return false;
|
|
CMBBaseCabinetObjMap::iterator it;
|
CString strID;
|
|
strID = pCabinetObj->m_strID;
|
it = m_mapCabinetObj.find(strID);
|
|
// Èç¹ûÕҵõ½ ·µ»Ø
|
if( it != m_mapCabinetObj.end() )
|
return false;
|
|
m_mapCabinetObj[strID] = pCabinetObj;
|
m_vectorCabinetObj.push_back(pCabinetObj);
|
return true;
|
}
|
|
CMBBaseCabinetObj* CMBBaseCabinetMgr::GetCabinetObj( CString strID )
|
{
|
if( strID.IsEmpty() )
|
{
|
return NULL;
|
}
|
|
CMBBaseCabinetObjMap::iterator it;
|
CMBBaseCabinetObj *pCabinetObj = NULL;
|
|
it = m_mapCabinetObj.find(strID);
|
|
if( it!= m_mapCabinetObj.end() )
|
pCabinetObj = it->second;
|
|
return pCabinetObj;
|
}
|
|
bool CMBBaseCabinetMgr::RemoveAllCabinetObj()
|
{
|
CMBBaseCabinetObjMap::iterator it;
|
CMBBaseCabinetObj *pCabinetObj = NULL;
|
|
for( it = m_mapCabinetObj.begin();it != m_mapCabinetObj.end();it++ )
|
{
|
pCabinetObj = it->second;
|
delete pCabinetObj;
|
pCabinetObj = NULL;
|
}
|
m_mapCabinetObj.clear();
|
m_vectorCabinetObj.clear();
|
return true;
|
}
|
|
// Çå¿ÕÈÝÆ÷
|
void CMBBaseCabinetMgr::EmptyContainer()
|
{
|
m_mapCabinetObj.clear();
|
m_vectorCabinetObj.clear();
|
}
|
|
|
bool CMBBaseCabinetMgr::GetBaseObjVector( CMBBaseObjVector &vectorObj )
|
{
|
CMBBaseCabinetObjVector::iterator it;
|
CMBBaseCabinetObj *pCabinetObj = NULL;
|
|
for( it = m_vectorCabinetObj.begin();it != m_vectorCabinetObj.end();it++ )
|
{
|
pCabinetObj = *it;
|
vectorObj.push_back(pCabinetObj);
|
}
|
|
return true;
|
}
|
|
void CMBBaseCabinetMgr::GetCabinetObjMap( CMBBaseCabinetObjMap &mapCabinetObj)
|
{
|
mapCabinetObj.clear();
|
mapCabinetObj = m_mapCabinetObj;
|
}
|
|
void CMBBaseCabinetMgr::GetCabinetObjVector( CMBBaseCabinetObjVector &vectorCabinetObj)
|
{
|
vectorCabinetObj.clear();
|
vectorCabinetObj = m_vectorCabinetObj;
|
}
|
|
int CMBBaseCabinetMgr::GetCount()
|
{
|
return m_mapCabinetObj.size();
|
}
|