#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;
|
}
|
|
//<Vault ID='{0009A4C9-9623-4702-AEE7-9F71DCE3779C}' Type='0' Status='1' ClassID='0014' ClassName='TEST' AdminLogin='jt' AdminName='½ÌÎ' BkColor='16756038' Creator='' CreatorName='' DTCreate='2020-6-10 10:37:45' CanSyncToClient='1' ImgFontStyle='fu-File_view'>
|
//<Name>test</Name><Memo>test</Memo></Vault>
|
|
CString CMBVault::GenXml()
|
{
|
CString strXml;
|
|
strXml.Format(_T("<Vault ID='%s' BAK='%s' ClassID='%s' AdminName='%s' AdminLogin='%s' Ace='%s' CreatorName='%s' DTCreate='%s' PName='%s' BkColor='%s' ImgFontStyle='%s' QueryClsAttr='%s' ExtAdmin='%s' ExtParamter='%s'><Name>%s</Name></Vault>"),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;
|
}
|