#include "StdAfx.h"
|
#include "MBBaseAppMgr.h"
|
|
IMPLEMENT_DYNAMIC(CMBBaseAppMgr, CMBAbstBaseObj)
|
|
CMBBaseAppMgr::CMBBaseAppMgr(void)
|
{
|
RemoveAllAppObj();
|
}
|
|
|
CMBBaseAppMgr::~CMBBaseAppMgr(void)
|
{
|
RemoveAllAppObj();
|
}
|
|
bool CMBBaseAppMgr::AddAppObj(CMBBaseAppObj *pAppObj)
|
{
|
if( NULL == pAppObj || pAppObj->m_strID.IsEmpty() )
|
return false;
|
|
CMBBaseAppObjMap::iterator it;
|
CString strID;
|
|
|
strID = pAppObj->m_strID;
|
it = m_mapAppObj.find(strID);
|
|
// Èç¹ûÕҵõ½ ·µ»Ø
|
if( it != m_mapAppObj.end() )
|
return false;
|
|
m_mapAppObj[strID] = pAppObj;
|
//m_listSysAppInfo.push_back(pSysAppInfo);
|
m_vectorAppObj.push_back(pAppObj);
|
return true;
|
}
|
|
CMBBaseAppObj * CMBBaseAppMgr::GetAppObj( CString strID )
|
{
|
if( strID.IsEmpty() )
|
{
|
return NULL;
|
}
|
|
CMBBaseAppObjMap::iterator it;
|
CMBBaseAppObj *pAppObj = NULL;
|
|
it = m_mapAppObj.find(strID);
|
|
if( it!= m_mapAppObj.end() )
|
pAppObj = it->second;
|
|
return pAppObj;
|
}
|
|
bool CMBBaseAppMgr::HasAppObj( CMBBaseAppObj *pAppObj )
|
{
|
if( pAppObj == NULL)
|
return false;
|
|
CMBBaseAppObjMap::iterator it;
|
CMBBaseAppObj *pTmpAppObj = NULL;
|
|
for( it = m_mapAppObj.begin();it != m_mapAppObj.end();it++ )
|
{
|
pTmpAppObj = it->second;
|
if( pAppObj == pTmpAppObj)
|
return true;
|
}
|
|
return false;
|
}
|
|
bool CMBBaseAppMgr::RemoveAllAppObj()
|
{
|
CMBBaseAppObjMap::iterator it;
|
CMBBaseAppObj *pAppObj = NULL;
|
|
for( it = m_mapAppObj.begin();it != m_mapAppObj.end();it++ )
|
{
|
pAppObj = it->second;
|
delete pAppObj;
|
pAppObj = NULL;
|
}
|
|
m_mapAppObj.clear();
|
m_vectorAppObj.clear();
|
|
return true;
|
}
|
|
// Çå¿ÕÈÝÆ÷
|
void CMBBaseAppMgr::EmptyContainer()
|
{
|
m_mapAppObj.clear();
|
m_vectorAppObj.clear();
|
}
|
|
|
bool CMBBaseAppMgr::GetBaseObjVector( CMBBaseObjVector &vectorObj )
|
{
|
CMBBaseAppObjVector::iterator it;
|
CMBBaseAppObj *pAppObj = NULL;
|
|
for( it = m_vectorAppObj.begin();it != m_vectorAppObj.end();it++ )
|
{
|
pAppObj = *it;
|
vectorObj.push_back(pAppObj);
|
}
|
|
return true;
|
}
|
|
void CMBBaseAppMgr::GetAppObjMap( CMBBaseAppObjMap &mapAppObj)
|
{
|
mapAppObj.clear();
|
mapAppObj = m_mapAppObj;
|
}
|
|
void CMBBaseAppMgr::GetAppObjVector( CMBBaseAppObjVector &vectorAppObj)
|
{
|
vectorAppObj.clear();
|
vectorAppObj = m_vectorAppObj;
|
}
|
|
|
int CMBBaseAppMgr::GetAppCount()
|
{
|
return m_mapAppObj.size();
|
}
|
|
|
|