#include "StdAfx.h"
#include "MBVault.h"
IMPLEMENT_DYNAMIC(CMBVault, CMBAbstBaseObj)
CMBVault::CMBVault(void)
{
m_nSubCount = 0;
m_nObjCount = 0;
m_bCanSyncToClient = false;
m_pVaultCatalogMgr = new CMBVaultCatalogMgr();
m_pObjMgr = new CMBTNXXXObjMgr();
}
CMBVault::~CMBVault(void)
{
if( NULL != m_pVaultCatalogMgr )
{
delete m_pVaultCatalogMgr;
m_pVaultCatalogMgr = NULL;
}
if( NULL != m_pObjMgr )
{
delete m_pObjMgr;
m_pObjMgr = NULL;
}
}
CMBVaultCatalogMgr *CMBVault::GetVaultCatalogMgr()
{
return m_pVaultCatalogMgr;
}
CMBTNXXXObjMgr *CMBVault::GetObjMgr()
{
return m_pObjMgr;
}
bool CMBVault::ParseXml(CString &strXml,CString &strErrInfo)
{
if( strXml.IsEmpty() )
{
strErrInfo = _T("½âÎöµÄxmlΪ¿Õ£¡");
return false;
}
pugi::xml_document xmlDoc;
if (!xmlDoc.load(strXml))
{
return false;
}
pugi::xml_node node = xmlDoc.child(_T("Vault"));
if( NULL == node )
return false;
m_strID = node.attribute(_T("ID")).value(); // µç×Ó²Ö¿âID
m_strName = node.child_value(_T("Name")); // µç×Ó²Ö¿âÃû³Æ
m_strBAK = node.attribute(_T("BAK")).value(); // ±¸×¢
m_strClsID = node.attribute(_T("ClassID")).value(); // µç×Ó²Ö¿â¹ÜÀíµÄÊý¾Ý¶ÔÏóÀàID
m_strAdminstrator = node.attribute(_T("AdminName")).value(); // ¹ÜÀíÕßÃû³Æ
m_strAdminstratorID = node.attribute(_T("AdminLogin")).value(); // ¹ÜÀíÕßID
m_strAce = node.attribute(_T("Ace")).value(); // ±íʾÊÇ·ñÓÐÓÐACEÏÞÖÆ
//m_nStatus = node.attribute(_T("Status")).as_int(); // ÊÇ·ñ¿ÉÓÃ
//m_strCreatorID = node.attribute(_T("Creator")).value();
m_strCreatorName = node.attribute(_T("CreatorName")).value();
m_strTCreate = node.attribute(_T("DTCreate")).value(); // ´´½¨ÈÕÆÚ
//m_nType = node.attribute(_T("Type")).as_int(); // Êý¾Ý²Ö¿âÀàÐÍ
//m_strPID = node.attribute(_T("PID")).value(); // ÏîÄ¿ ID
m_strPName = node.attribute(_T("PName")).value(); // ÏîÄ¿Ãû³Æ
m_nBkColor = node.attribute(_T("BkColor")).value(); // µç×Ó²Ö¿â°´Å¥µÄ±³¾°ÑÕÉ«
m_strImgFontStyle = node.attribute(_T("ImgFontStyle")).value(); // ͼ±ê×ÖÌåÑùʽ
//m_nOwnerType = node.attribute(_T("OwnerType")).as_int(); // ËùÓÐÕßÀàÐÍ
//m_strOwnerID = node.attribute(_T("Owner")).value(); // ËùÓÐÕß±êʶ
//m_strOwerName = node.attribute(_T("OwerName")).value(); // ËùÓÐÕßÃû³Æ
//m_strViewName = node.attribute(_T("ViewName")).value(); // ´´½¨µÄ²éѯÊÓͼ±êʶ
m_strQueryClsAttr = node.attribute(_T("QueryClsAttr")).value(); // ¿ÉÒÔ²éѯµÄÀà×ֶΣ¬¿ÉÒÔû¶¨Ò壬û¶¨Òå¸ù¾ÝÀàÖе͍Òå
m_strExtAdmin = node.attribute(_T("ExtAdmin")).value(); // À©Õ¹³öÀ´µÄ¹ÜÀíÔ±£¬¿ÉÒÔ×öÒ»Ð©ÒÆ¶¯£¬Ä¿Â¼É¾³ýÔö¼Ó£¬´ò±êÇ©µÈ²Ù×÷
m_strExtParamter = node.attribute(_T("ExtParamter")).value(); // À©Õ¹²ÎÊý
//m_strArchiveAdmin = node.attribute(_T("ArchiveAdmin")).value(); // ÊÇ·ñÓÐÔ¤¹éµµ
//m_strMemo = node.child_value(_T("Memo"));
//m_bCanSyncToClient = node.attribute(_T("CanSyncToClient")).as_bool();
return true;
}
//
//testtest
CString CMBVault::GenXml()
{
CString strXml;
strXml.Format(_T("%s"),m_strID,m_strBAK,m_strClsID,m_strAdminstrator,m_strAdminstratorID,m_strAce,
m_strCreatorName,m_strTCreate,m_strPName,m_nBkColor, m_strImgFontStyle, m_strQueryClsAttr,
m_strExtAdmin,m_strExtParamter,m_strName);
return strXml;
}