#include "StdAfx.h" #include "MBUserNetDiskInfo.h" CMBUserNetDiskInfo::CMBUserNetDiskInfo(void) { RemoveAllCabinetObj(); } CMBUserNetDiskInfo::~CMBUserNetDiskInfo(void) { RemoveAllCabinetObj(); } void CMBUserNetDiskInfo::GetCabinetObjMap( CMBBaseCabinetObjMap &mapCabinetInfo ) { mapCabinetInfo.clear(); mapCabinetInfo = m_mapCabinetInfo; } void CMBUserNetDiskInfo::GetCabinetObjVector( CMBBaseCabinetObjVector &vectorCabinetInfo ) { vectorCabinetInfo.clear(); vectorCabinetInfo = m_vectorCabinetInfo; } bool CMBUserNetDiskInfo::AddCabinetObj(CMBBaseCabinetObj *pCabinetObj) { if( NULL == pCabinetObj || pCabinetObj->m_strID.IsEmpty() ) return false; CMBBaseCabinetObjMap::iterator it; CString strID; strID = pCabinetObj->m_strID; it = m_mapCabinetInfo.find(strID); // Èç¹ûÕҵõ½ ·µ»Ø if( it != m_mapCabinetInfo.end() ) return false; m_mapCabinetInfo[strID] = pCabinetObj; m_vectorCabinetInfo.push_back(pCabinetObj); return true; } CMBBaseCabinetObj* CMBUserNetDiskInfo::GetCabinetObj( CString strID ) { if( strID.IsEmpty() ) { return NULL; } CMBBaseCabinetObjMap::iterator it; CMBBaseCabinetObj *pCabinetObj = NULL; it = m_mapCabinetInfo.find(strID); if( it!= m_mapCabinetInfo.end() ) pCabinetObj = it->second; return pCabinetObj; } bool CMBUserNetDiskInfo::RemoveAllCabinetObj() { CMBBaseCabinetObjMap::iterator it; CMBBaseCabinetObj *pCabinetObj = NULL; for( it = m_mapCabinetInfo.begin();it != m_mapCabinetInfo.end();it++ ) { pCabinetObj = it->second; delete pCabinetObj; pCabinetObj = NULL; } m_mapCabinetInfo.clear(); m_vectorCabinetInfo.clear(); return true; } int CMBUserNetDiskInfo::GetCount() { return m_mapCabinetInfo.size(); } // Óе¥Î»ÍøÅÌ bool CMBUserNetDiskInfo::HasUnitWP() { CMBBaseCabinetObjMap::iterator it; CMBBaseCabinetObj *pCabinetObj = NULL; for( it = m_mapCabinetInfo.begin();it != m_mapCabinetInfo.end();it++ ) { pCabinetObj = it->second; if( pCabinetObj->m_strIsUnit == _T("1") ) return true; } return false; } // Óв¿ÃÅÍøÅÌ bool CMBUserNetDiskInfo::HasDepartWP() { CMBBaseCabinetObjMap::iterator it; CMBBaseCabinetObj *pCabinetObj = NULL; for( it = m_mapCabinetInfo.begin();it != m_mapCabinetInfo.end();it++ ) { pCabinetObj = it->second; if( pCabinetObj->m_strIsUnit == _T("") ) return true; } return false; } // //bool CMBUserNetDiskInfo::ParseXml( CString &strXml,CString &strErrInfo ) //{ // CString strSubCount; // // if( strXml.IsEmpty() ) // { // strErrInfo = _T("½âÎöµÄxmlΪ¿Õ£¡"); // return true; // } // pugi::xml_document xmlDoc; // if (!xmlDoc.load(strXml)) // { // return false; // } // pugi::xml_node form = xmlDoc.child(_T("Body")).child(_T("ND")); // m_strNDState = form.attribute(_T("State")).value(); // m_strNDCapacity = form.attribute(_T("Capacity")).value(); // m_strNDUsed = form.attribute(_T("Used")).value(); // m_strNDFileCount = form.attribute(_T("FileCount")).value(); // m_strNDCanClean = form.attribute(_T("CanClean")).value(); // // form = xmlDoc.child(_T("Body")); // m_strHaveReqApply = form.child_value(_T("HaveReqApply")); // m_strFuncData = form.child_value(_T("FuncData")); // m_strHasFileTrans = form.child_value(_T("HasFileTrans")); // m_strDisOriginFile = form.child_value(_T("DisOriginFile")); // // form = xmlDoc.child(_T("Body")).child(_T("Cabinet")); // for(pugi::xml_node node = form; node; node = node.next_sibling()) // { // CMBBaseCabinetObj *pCabinetObj = new CMBBaseCabinetObj(); // pCabinetObj->m_strID = node.attribute(_T("ID")).value(); // pCabinetObj->m_strStatus = node.attribute(_T("Status")).value(); // pCabinetObj->m_strOrder = node.attribute(_T("Order")).value(); // //pCabinetObj->m_strPType = node.attribute(_T("PType")).value(); // //pCabinetObj->m_strPID = node.attribute(_T("PID")).value(); // //pCabinetObj->m_strPName = node.attribute(_T("PName")).value(); // pCabinetObj->m_strCapacity = node.attribute(_T("Capacity")).value(); // //pCabinetObj->m_strUsed = node.attribute(_T("Used")).value(); // strSubCount = node.attribute(_T("SubCount")).value(); // pCabinetObj->m_nSubCount = _ttoi(strSubCount); // pCabinetObj->m_strBkColor = node.attribute(_T("BkColor")).value(); // pCabinetObj->m_strFileSFlag = node.attribute(_T("FileSFlag")).value(); // //pCabinetObj->m_strDocState = node.attribute(_T("DocState")).value(); // pCabinetObj->m_strAdminLogin = node.attribute(_T("AdminLogin")).value(); // pCabinetObj->m_strAdminName = node.attribute(_T("AdminName")).value(); // pCabinetObj->m_strArchiveAdmin = node.attribute(_T("ArchiveAdmin")).value(); // pCabinetObj->m_strImgFontStyle = node.attribute(_T("ImgFontStyle")).value(); // pCabinetObj->m_strHasAce = node.attribute(_T("HasAce")).value(); // pCabinetObj->m_strPermit = node.attribute(_T("Permit")).value(); // //pCabinetObj->m_strEnableDocMonitor = node.attribute(_T("EnableDocMonitor")).value(); // //pCabinetObj->m_strFTR = node.attribute(_T("FTR")).value(); // pCabinetObj->m_strName = node.child_value(_T("Name")); // //pCabinetObj->m_strMemo = node.child_value(_T("Memo")); // pCabinetObj->m_strIsUnit = node.attribute(_T("IsUnit")).value(); // // Îĵµ¹ñÀàÐÍ // if( pCabinetObj->m_strIsUnit == _T("1") ) // { // pCabinetObj->m_nType = CMBBaseCabinetObj::CABINET_UNIT; // ±íʾµ¥Î»Îĵµ¹ñ // }else{ // pCabinetObj->m_nType = CMBBaseCabinetObj::CABINET_DEPART; // ±íʾ²¿ÃÅÎĵµ¹ñ // } // // if( !AddCabinetObj(pCabinetObj) ) // { // delete pCabinetObj; // pCabinetObj = NULL; // } // } // // return true; //} bool CMBUserNetDiskInfo::ParseOOSXml( CString &strXml,CString &strErrInfo ) { /* CString m_strOOSEnable; CString m_strOOSExtension; CString m_strOOSServer; CString m_strOOSRoot;*/ if( strXml.IsEmpty() ) { return true; } pugi::xml_document xmlDoc; if (!xmlDoc.load(strXml)) { return false; } pugi::xml_node form = xmlDoc.child(_T("Body")).child(_T("oos")); m_strOOSEnable = form.attribute(_T("Enable")).value(); m_strOOSExtension = form.attribute(_T("Extension")).value(); m_strOOSServer = form.attribute(_T("Server")).value(); m_strOOSRoot = form.attribute(_T("Root")).value(); return true; }