#include "StdAfx.h" #include "MBTNXXXXXXFieldMgr.h" CMBTNXXXXXXFieldMgr::CMBTNXXXXXXFieldMgr(void) { RemoveAll(); } CMBTNXXXXXXFieldMgr::~CMBTNXXXXXXFieldMgr(void) { RemoveAll(); } void CMBTNXXXXXXFieldMgr::GetVector( CMBTNXXXXXXFiledVector &vector) { vector.clear(); vector = m_vector; } CMBTNXXXXXXFiled *CMBTNXXXXXXFieldMgr::Get( CString strField ) { if( strField.IsEmpty() ) return NULL; CMBTNXXXXXXFiledMap::iterator it; CMBTNXXXXXXFiled *pFiled = NULL; it = m_map.find(strField); if( it!= m_map.end() ) pFiled = it->second; return pFiled; } bool CMBTNXXXXXXFieldMgr::Add( CMBTNXXXXXXFiled *pFiled ) { if( NULL == pFiled || pFiled->m_strFiled.IsEmpty() ) return false; CMBTNXXXXXXFiledMap::iterator it; CString strField; strField = pFiled->m_strFiled; it = m_map.find(strField); // Èç¹ûÕҵõ½ ·µ»Ø if( it != m_map.end() ) return false; m_map[strField] = pFiled; m_vector.push_back(pFiled); return true; } bool CMBTNXXXXXXFieldMgr::RemoveAll() { CMBTNXXXXXXFiledMap::iterator it; CMBTNXXXXXXFiled *pFiled = NULL; for( it = m_map.begin();it != m_map.end();it++ ) { pFiled = it->second; delete pFiled; pFiled = NULL; } m_map.clear(); m_vector.clear(); return true; } //second; strAttr.Format(_T("%s"),pFiled->m_strFiled,pFiled->m_strValue); strAttrs += strAttr; } if(!strAttrs.IsEmpty()) strXml.Format(_T("%s"),strAttrs); return strXml; }