#include "StdAfx.h"
|
#include "MBVaultCatalogHlinkMgr.h"
|
|
|
CMBVaultCatalogHlinkMgr::CMBVaultCatalogHlinkMgr(void)
|
{
|
RemoveAllVaultCatalogHlink();
|
}
|
|
|
CMBVaultCatalogHlinkMgr::~CMBVaultCatalogHlinkMgr(void)
|
{
|
RemoveAllVaultCatalogHlink();
|
}
|
|
|
void CMBVaultCatalogHlinkMgr:: GetVaultCatalogHlinkVector( CMBVaultCatalogHlinkVector &vectorCatalogHlink)
|
{
|
vectorCatalogHlink.clear();
|
vectorCatalogHlink = m_vectorCatalogHlink;
|
}
|
|
|
bool CMBVaultCatalogHlinkMgr::AddVaultCatalogHlink( CMBVaultCatalogHlink *pVaultCatalogHlink )
|
{
|
if( NULL == pVaultCatalogHlink )
|
return false;
|
|
m_vectorCatalogHlink.push_back(pVaultCatalogHlink);
|
|
return true;
|
}
|
|
// Çå³ýËùÓÐ
|
bool CMBVaultCatalogHlinkMgr::RemoveAllVaultCatalogHlink()
|
{
|
CMBVaultCatalogHlinkVector::iterator it;
|
CMBVaultCatalogHlink *pVaultCatalogHlink = NULL;
|
|
for( it = m_vectorCatalogHlink.begin();it != m_vectorCatalogHlink.end();it++ )
|
{
|
pVaultCatalogHlink = *it;
|
delete pVaultCatalogHlink;
|
pVaultCatalogHlink = NULL;
|
}
|
|
m_vectorCatalogHlink.clear();
|
return true;
|
}
|
|
bool CMBVaultCatalogHlinkMgr::ParseXml( CString strXml,CString strVaultID,CString strCatalogID,CString &strErrInfo )
|
{
|
if( strXml.IsEmpty() )
|
return true;
|
|
|
pugi::xml_document xmlDoc;
|
if (!xmlDoc.load(strXml))
|
{
|
return false;
|
}
|
|
pugi::xml_node objNode = xmlDoc.child(_T("Body")).child(_T("Obj"));
|
|
for(pugi::xml_node node = objNode; node; node = node.next_sibling(_T("Obj")))
|
{
|
CMBVaultCatalogHlink *pVaultCatalogHlink = new CMBVaultCatalogHlink();
|
|
pVaultCatalogHlink->m_strCatalogID = strCatalogID;
|
pVaultCatalogHlink->m_strClsID = node.attribute(_T("ClassID")).value();
|
pVaultCatalogHlink->m_strObjID = node.attribute(_T("ID")).value();
|
//pVaultCatalogHlink->m_strVID; // ͬ°æ±¾±êʶ
|
pVaultCatalogHlink->m_strDisplayName = node.child_value(_T("Name"));
|
//pVaultCatalogHlink->m_strExtAttr;
|
pVaultCatalogHlink->m_strCreator = node.attribute(_T("CreatorID")).value();
|
pVaultCatalogHlink->m_strTLink = node.attribute(_T("DTCreate")).value();
|
//pVaultCatalogHlink->m_nOrder; // ÏÔʾ´ÎÐò
|
pVaultCatalogHlink->m_strVaultID = strVaultID;
|
//pVaultCatalogHlink->m_strTags;
|
|
|
if( !AddVaultCatalogHlink( pVaultCatalogHlink ) )
|
{
|
delete pVaultCatalogHlink;
|
pVaultCatalogHlink = NULL;
|
}
|
|
}
|
|
return true;
|
}
|