使用soui开发的mbc,只支持windows版本
w1146869587
2022-01-24 4905e2e7537d507f218e8e9595485e09d9f3a2b4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#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;
}