#include "StdAfx.h" #include "MBPsnRecycleBinInfo.h" IMPLEMENT_DYNAMIC(CMBPsnRecycleBinInfo, CMBBaseCabinetObj) CMBPsnRecycleBinInfo::CMBPsnRecycleBinInfo(void) { m_pDocMgr = NULL; m_pCatalogMgr = NULL; m_nRecords = 0; // ¼Ç¼Êý m_nCurPage = 0; // µ±Ç°Ò³ m_nTotalPages = 0; // ×ÜÒ³ m_nPageSize = 0; // ÿҳÊý } CMBPsnRecycleBinInfo::~CMBPsnRecycleBinInfo(void) { if( m_pDocMgr ) { delete m_pDocMgr; m_pDocMgr = NULL; } if( m_pCatalogMgr ) { delete m_pCatalogMgr; m_pCatalogMgr = NULL; } } CMBPsnCatalogMgr *CMBPsnRecycleBinInfo::GetCatalogMgr() { return m_pCatalogMgr; } CMBPsnDocMgr *CMBPsnRecycleBinInfo::GetDocMgr() { return m_pDocMgr; } bool CMBPsnRecycleBinInfo::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 CMBPsnDocMgr(); m_pCatalogMgr = new CMBPsnCatalogMgr(); if( strXml.IsEmpty() ) { strXml = _T("CMBPsnCabinetInfo::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; }