#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;
|
}
|
|
//<dymfield></
|
CString CMBTNXXXXXXFieldMgr::GenXml()
|
{
|
CMBTNXXXXXXFiledMap::iterator it;
|
CMBTNXXXXXXFiled *pFiled = NULL;
|
|
CString strXml,strAttrs,strAttr;
|
|
for( it = m_map.begin();it != m_map.end();it++ )
|
{
|
pFiled = it->second;
|
strAttr.Format(_T("<Attr Name='%s'>%s</Attr>"),pFiled->m_strFiled,pFiled->m_strValue);
|
strAttrs += strAttr;
|
}
|
|
if(!strAttrs.IsEmpty())
|
strXml.Format(_T("<Attrs>%s</Attrs>"),strAttrs);
|
|
return strXml;
|
}
|