#include "StdAfx.h" #include "MBVaultCatalogMgr.h" CMBVaultCatalogMgr::CMBVaultCatalogMgr(void) { RemoveAllVaultCatalog(); m_bLoad = false; } CMBVaultCatalogMgr::~CMBVaultCatalogMgr(void) { RemoveAllVaultCatalog(); } void CMBVaultCatalogMgr:: GetVaultCatalogVector( CMBVaultCatalogVector &vectorCatalog) { vectorCatalog.clear(); vectorCatalog = m_vectorCatalog; } CMBVaultCatalog *CMBVaultCatalogMgr::GetVaultCatalog( CString strID ) { if( strID.IsEmpty() ) { return NULL; } CMBVaultCatalogMap::iterator it; CMBVaultCatalog *pVaultCatalog = NULL; it = m_mapCatalog.find(strID); if( it!= m_mapCatalog.end() ) pVaultCatalog = it->second; return pVaultCatalog; } bool CMBVaultCatalogMgr::AddVaultCatalog( CMBVaultCatalog *pVaultCatalog ) { if( NULL == pVaultCatalog || pVaultCatalog->m_strID.IsEmpty() ) return false; CMBVaultCatalogMap::iterator it; CString strID; strID = pVaultCatalog->m_strID; it = m_mapCatalog.find(strID); // Èç¹ûÕҵõ½ ·µ»Ø if( it != m_mapCatalog.end() ) return false; m_mapCatalog[strID] = pVaultCatalog; m_vectorCatalog.push_back(pVaultCatalog); return true; } // Çå³ýËùÓÐ bool CMBVaultCatalogMgr::RemoveAllVaultCatalog() { CMBVaultCatalogMap::iterator it; CMBVaultCatalog *pVaultCatalog = NULL; for( it = m_mapCatalog.begin();it != m_mapCatalog.end();it++ ) { pVaultCatalog = it->second; delete pVaultCatalog; pVaultCatalog = NULL; } m_mapCatalog.clear(); m_vectorCatalog.clear(); return true; } int CMBVaultCatalogMgr::GetCount() { return m_vectorCatalog.size(); } // ÐòÁл¯³ÉXML¸ñʽ CString CMBVaultCatalogMgr::GenXML() { CString strXml,strCatalogXml; CMBVaultCatalogVector::iterator it; CMBVaultCatalog *pVaultCatalog = NULL; for( it = m_vectorCatalog.begin();it != m_vectorCatalog.end();it++ ) { pVaultCatalog = *it; strCatalogXml += pVaultCatalog->GenXml(); } strXml.Format(_T("
%s"),strCatalogXml); return strXml; } // ½âÎö³É¶ÔÏó strXml = "