#include "StdAfx.h" #include "MBRecycleBinInfo.h" IMPLEMENT_DYNAMIC(CMBRecycleBinInfo, CMBBaseCabinetObj) CMBRecycleBinInfo::CMBRecycleBinInfo(void) { m_pDocMgr = NULL; m_pCatalogMgr = NULL; m_nRecords = 0; // ¼Ç¼Êý m_nCurPage = 0; // µ±Ç°Ò³ m_nTotalPages = 0; // ×ÜÒ³ m_nPageSize = 0; // ÿҳÊý } CMBRecycleBinInfo::~CMBRecycleBinInfo(void) { if( m_pDocMgr ) { delete m_pDocMgr; m_pDocMgr = NULL; } if( m_pCatalogMgr ) { delete m_pCatalogMgr; m_pCatalogMgr = NULL; } } CMBCatalogMgr *CMBRecycleBinInfo::GetCatalogMgr() { return m_pCatalogMgr; } CMBDocMgr *CMBRecycleBinInfo::GetDocMgr() { return m_pDocMgr; } bool CMBRecycleBinInfo::ParseRecyleBinXml( CString &strXml,CString &strErrInfo ) { if( m_pDocMgr ) { delete m_pDocMgr; m_pDocMgr = NULL; } if( m_pCatalogMgr ) { delete m_pCatalogMgr; m_pCatalogMgr = NULL; } m_pDocMgr = new CMBDocMgr(); m_pCatalogMgr = new CMBCatalogMgr(); if( strXml.IsEmpty() ) { strXml = _T("CMBCabinetInfo::ParseRecyleBinXml,²ÎÊýΪ¿Õ£¡"); return false; } CString strRecords,strCurPage, strTotalPages,strPageSize; pugi::xml_document xmlDoc; if (!xmlDoc.load(strXml)) { return false; } pugi::xml_node form = xmlDoc.child(_T("Body")); m_strSessionID = form.child_value(_T("SessionID")); strRecords = form.child_value(_T("Records")); strTotalPages = form.child_value(_T("TotalPages")); strCurPage = form.child_value(_T("CurPage")); strPageSize = form.child_value(_T("PageSize")); m_nRecords = _ttoi(strRecords); m_nCurPage = _ttoi(strCurPage); m_nTotalPages = _ttoi(strTotalPages); m_nPageSize = _ttoi(strPageSize); if(!m_pDocMgr->ParseDocListXml(strXml,strErrInfo)) { return false; } return true; }