void Item::addBaseValues(CMarkup &xml) const { xml.AddElem("itemtypename", itemtypename_); xml.AddElem("itemtypeid", itemtypeid_); xml.AddElem("number", tostring(number_)); }
bool TestMarkup::AddElemTest() { CMarkup markup; markup.AddElem(_U("Gis"), 234); markup.AddChildElem(_U("ABC"), _U("FALSE")); markup.IntoElem(); markup.AddElem(_U("zhangkai"), 20); return TRUE; }
void XmlProxyCallback::_sendXmlMessage(const std::string & sMessage) { CMarkup xmlMessage; xmlMessage.AddElem("response"); xmlMessage.IntoElem(); xmlMessage.AddElem("message", sMessage); xmlMessage.OutOfElem(); _sendXmlResponse(xmlMessage, _sResponseEncode); }
string Money::showXml () const { CMarkup xml; xml.AddElem("money"); xml.IntoElem(); addBaseValues(xml); xml.AddElem("amount", tostring(amount_)); return xml.GetDoc(); }
CMarkup XMLSerialized::OpenFile(){ CMarkup xml; //nếu file chưa tồn tại thì kiểm tra trong listRole bool exist =PathFileExists(sFileName); if(!exist){ int begin = sFileName.ReverseFind('\\')+1; int end = sFileName.ReverseFind(L'.'); CString roleName = sFileName.Mid(begin,end-begin); if(roleName.Left(4)=="Role") return NULL; CString szLstRole = L"Character\\ListRole.xml"; ConvertFileName(szLstRole); //nếu không tồn tại file listRole thì tạo note root if(!PathFileExists(szLstRole)){ xml.AddElem(L"ListRoles"); } else{ xml.Load(szLstRole); xml.FindElem(L"ListRoles"); } xml.IntoElem(); while(xml.FindElem(L"Role")){ if(xml.GetAttrib(L"ID")==roleName){ sFileName=L"Character\\"+xml.GetAttrib(L"File"); ConvertFileName(sFileName); exist =true; break; } } //nếu trong listRole không có thì lưu trong listRole và tạo file if(!exist){ time_t timer; time(&timer); CTime t = timer; sFileName=t.Format(L"Role%d%m%Y%H%M%S.xml"); xml.AddElem(L"Role"); xml.AddAttrib(L"ID",roleName); xml.AddAttrib(L"File",sFileName); xml.Save(szLstRole); sFileName=L"Character\\"+sFileName; ConvertFileName(sFileName); return NULL; } } xml.Load(sFileName); if(xml.GetDoc().GetLength()>0) return xml; return NULL; }
string Weapon::showXml () const { CMarkup xml; xml.AddElem("weapon"); xml.IntoElem(); addBaseValues(xml); xml.AddElem("loaded_cliptype", loaded_cliptype_); xml.AddElem("ammo", tostring(ammo_)); return xml.GetDoc(); }
string Vehicle::showXml () const { char buf[256]; CMarkup xml; xml.AddElem ("vehicle"); xml.IntoElem (); xml.AddElem ("vtypeidname", vtypeidname_); snprintf (buf, 256, "%li", vtypeid_); xml.AddElem ("vtypeid", buf); xml.AddElem ("color", color_); snprintf (buf, 256, "%i", heat_); xml.AddElem ("heat", buf); snprintf (buf, 256, "%li", location_); xml.AddElem ("location", buf); snprintf (buf, 256, "%i", myear_); xml.AddElem ("myear", buf); snprintf (buf, 256, "%li", id_); xml.AddElem ("id", buf); return xml.GetDoc(); }
void XMLFileSave() { CMarkup xml; xml.AddElem(L"SERVERLIST"); xml.AddChildElem(L"SERVER"); xml.IntoElem(); xml.AddChildElem(L"IP", L"127.0.0.1"); xml.AddChildElem(L"PORT", 10000); xml.AddChildElem(L"IDENTIFER", 10000); xml.AddChildElem(L"DESC", L"GAME DATABASE SERVER"); xml.OutOfElem(); xml.AddChildElem(L"SERVER"); xml.IntoElem(); xml.AddChildElem(L"IP", L"127.0.0.1"); xml.AddChildElem(L"PORT", 10001); xml.AddChildElem(L"IDENTIFER", 9000); xml.AddChildElem(L"DESC", L"AUTH SERVER"); xml.OutOfElem(); std::wstring csXML = xml.GetDoc(); xml.Save(L"ServerConnection.xml"); wprintf(L"%s", csXML.c_str()); }
void CRequestXmlMessage::packedSendMessage(NetMessage& netMessage) { CMarkup xml; xml.SetDoc("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"); xml.AddElem("Message"); xml.AddChildElem("Header"); xml.IntoElem(); xml.AddAttrib("MsgType", "EMSG_REQUESTXML_RSP"); xml.OutOfElem(); xml.AddChildElem("Result"); xml.IntoElem(); xml.AddAttrib("ErrorCode", 0); xml.AddAttrib("Value", QString::fromLocal8Bit("成功").toStdString().c_str()); xml.OutOfElem(); xml.AddChildElem("SvrInfo"); xml.IntoElem(); xml.AddAttrib("UpdateXmlUrl", MessageDataMediator->m_strUpdateXMLUrl.toStdString().c_str()); xml.AddAttrib("HelpInfoXmlUrl", MessageDataMediator->m_strHelpXMLUrl.toStdString().c_str()); xml.AddAttrib("VersionCheckFileUrl", MessageDataMediator->m_strClientVersionUrl.toStdString().c_str()); xml.AddAttrib("TextMode", MessageDataMediator->m_bTextMode ? "1" : "0"); xml.OutOfElem(); netMessage.msgBuffer = packXml(&xml); netMessage.msgLen = xml.GetDoc().length(); }
BOOL WriteMarkupString(CMarkup& markDoc, ST_MARKITEM& itemIn) { if (!itemIn.strKey.IsEmpty() && itemIn.strKey.Compare(TEXT(".")) != 0) { markDoc.AddElem(itemIn.strKey, itemIn.strVal); } MAPKEYATTRIB ::iterator itb = itemIn.mapAttrib.begin(); MAPKEYATTRIB ::iterator ite = itemIn.mapAttrib.end(); for (; itb != ite; ++itb) { markDoc.AddAttrib(itb->first, itb->second); } MAPKEYVALUE& mapchild = itemIn.mapChildItem; MAPKEYVALUE::iterator itkvb = mapchild.begin(); MAPKEYVALUE::iterator itkve = mapchild.end(); for (; itkvb != itkve; ++itkvb) { markDoc.IntoElem(); WriteMarkupString(markDoc, itkvb->second); markDoc.OutOfElem(); } return TRUE; }
string Clip::showXml () const { CMarkup xml; xml.AddElem("clip"); xml.IntoElem(); addBaseValues(xml); return xml.GetDoc(); }
CMarkup SaveLoadCNN::GetAxonXml(AxonList* axonList) { CMarkup AxonXml; char buf[50];//used for conversion operations AxonXml.AddElem( "AxonData" ); AxonXml.IntoElem(); Axon* axonToSave = axonList->Head; do { AxonXml.AddElem( "Axon" ); sprintf(buf,"%d",axonToSave->ID); AxonXml.SetAttrib("AID",buf); //axonID sprintf(buf,"%d",axonToSave->source->id); AxonXml.SetAttrib("NsID",buf); //source NeuronID sprintf(buf,"%d",axonToSave->destination->id); AxonXml.SetAttrib("NdID",buf); //desination NeuronID sprintf(buf,"%d",axonToSave->source->ParentGroupID); AxonXml.SetAttrib("GsID",buf);//source groupID sprintf(buf,"%d",axonToSave->destination->ParentGroupID); AxonXml.SetAttrib("GdID",buf);//desination groupID sprintf(buf,"%d",axonToSave->synaptic_delay); AxonXml.SetAttrib("SynDelay",buf); // synaptic delay of axon sprintf(buf,"%.10f",axonToSave->fire_magnitude); //fire magnitude AxonXml.SetAttrib("Mag",buf); axonToSave = axonToSave->next; } while(axonToSave != NULL); return AxonXml; }
bool TestMarkup::WriteTextFile() { CMarkup markup; GKString strDoc(_U("<abc>Gis_Kook</abc>")); strDoc+=_U("\n"); markup.SetDoc(strDoc); markup.AddAttrib(_U("map"), 1); markup.AddElem(_U("dddd"),_U("dd") ); markup.WriteTextFile(_U("c:/Test.xml"), markup.GetDoc()); return TRUE; }
void CXmlElement::Save(CMarkup& xml) { xml.AddElem(_name, _value); for (unsigned int i = 0; i < _attributes.size(); ++i) { xml.AddAttrib(_attributes[i].first, _attributes[i].second); } xml.IntoElem(); for (unsigned int i = 0; i < _children.size(); ++i) { _children[i]->Save(xml); } xml.OutOfElem(); }
void ClusterMapLink::SaveLinkData(string _sUUID,string _dUUID,string filename) { char buf[50];//used for conversion operations CMarkup LinkXml; LinkXml.AddElem( "LinkData" ); sprintf(buf,"%s",_sUUID.c_str()); LinkXml.SetAttrib("SrcUUID",buf); sprintf(buf,"%s",_dUUID.c_str()); LinkXml.SetAttrib("DstUUID",buf); LinkXml.Save(filename); }
void CComputerGrid::SaveToFile() { CMarkup ActiveMembers; //ActiveMembers.SetDoc(_T("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\r\n")); ActiveMembers.AddElem(_T("ActiveMembers")); ActiveMembers.AddChildElem(_T("Operator"), theApp.GetCurCashier()->GetName()); //ActiveMembers.AddChildElem(_T("Password"), theApp.GetCurCashier()->GetPassword()); ActiveMembers.AddChildElem(_T("Time"), CIBAHelpper::GetCurrentTimeAsString(TRUE)); for (INT_PTR i = 0; i < m_lpComputerList->GetCount(); i++) { CComputerInfo& computer = m_lpComputerList->GetComputer(i); if (computer.HasUserInfo()) { ActiveMembers.AddChildElem(_T("MemberInfo")); ActiveMembers.IntoElem(); ActiveMembers.AddChildElem(_T("TermId"), computer.GetTerminalID()); ActiveMembers.AddChildElem(_T("TermIP"), computer.GetComputerIP()); ActiveMembers.AddChildElem(_T("Status"), computer.GetStatusAsString()); ActiveMembers.AddChildElem(_T("NetId"), computer.GetNetId()); ActiveMembers.AddChildElem(_T("MemberId"), computer.GetMemberID()); ActiveMembers.AddChildElem(_T("UserName"), computer.GetUserName()); ActiveMembers.AddChildElem(_T("Sex"), computer.GetSex()); ActiveMembers.AddChildElem(_T("IdType"), computer.GetIdType()); ActiveMembers.AddChildElem(_T("PersonalId"), computer.GetPersonalID()); ActiveMembers.AddChildElem(_T("ClassName"), computer.GetMemberType()); ActiveMembers.AddChildElem(_T("ClassId"), computer.GetUserClassId()); ActiveMembers.AddChildElem(_T("IsMember"), computer.IsMember()); ActiveMembers.AddChildElem(_T("AvailavleBalance"), computer.GetAvailavleBalance()); ActiveMembers.AddChildElem(_T("Amount"), computer.GetAmount()); ActiveMembers.AddChildElem(_T("PayType"), computer.GetPayType()); ActiveMembers.AddChildElem(_T("Lcation"), computer.GetLcation()); ActiveMembers.AddChildElem(_T("CheckInTime"), computer.GetCheckInTime().Format(_T("%Y-%m-%d %H:%M:%S"))); ActiveMembers.AddChildElem(_T("UseTime"), computer.GetUseTimeAsString()); ActiveMembers.OutOfElem(); } } ActiveMembers.Save(theApp.GetWorkPath() + _T("\\IBAConfig\\ActiveMembers.xml")); }
void XMLSerialized::SaveInfo(const CString& sName,const int& iValue,TagType tagType,const CString& parent){ CMarkup xml = OpenFile(); if(FindPath(parent,&xml)){ if(tagType== TagType::Element) { if(!xml.FindElem(sName)) xml.AddElem( sName); xml.SetData(iValue); return; } if(tagType== TagType::Attribute) { xml.SetAttrib(sName,iValue); return; } } xml.Save(sFileName); }
bool CRegisterIdMessage::packedSendMessage(NetMessage& netMessage) { CMarkup xml; xml.SetDoc("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"); xml.AddElem("Message"); xml.AddChildElem("Header"); xml.IntoElem(); xml.AddAttrib("MsgType", "EMSG_REGISTERID_REQ"); xml.OutOfElem(); xml.AddChildElem("Info"); xml.IntoElem(); xml.AddAttrib("Id", MessageDataMediator->m_strNewId.toStdString().c_str()); //xml.AddAttrib("Id", "23423"); xml.OutOfElem(); netMessage.msgBuffer = packXml(&xml); netMessage.msgLen = xml.GetDoc().length(); return true; }
void CDistributeMessage::packedSendMessage(NetMessage& netMessage) { CMarkup xml; xml.SetDoc("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"); xml.AddElem("Message"); xml.AddChildElem("Header"); xml.IntoElem(); xml.AddAttrib("MsgType", "EMSG_DISTRIBUTEMSG_REQ"); xml.OutOfElem(); xml.AddChildElem("Result"); xml.IntoElem(); xml.AddAttrib("ErrorCode", 0); xml.AddAttrib("Value", QString::fromLocal8Bit("³É¹¦").toStdString().c_str()); xml.OutOfElem(); xml.AddChildElem("Info"); xml.IntoElem(); xml.AddAttrib("Msg", MessageDataMediator->m_strDistributeMsg.toStdString().c_str()); xml.AddAttrib("Time", MessageDataMediator->m_strDistributeTime.toStdString().c_str()); xml.OutOfElem(); netMessage.msgBuffer = packXml(&xml); netMessage.msgLen = xml.GetDoc().length(); }
void CSoftInstallMessage::packedSendMessage(NetMessage& netMessage) { CMarkup xml; xml.SetDoc("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"); xml.AddElem("Message"); xml.AddChildElem("Header"); xml.IntoElem(); xml.AddAttrib("MsgType", "EMSG_SOFTINSTALL_RSP"); xml.OutOfElem(); xml.AddChildElem("Result"); xml.IntoElem(); xml.AddAttrib("ErrorCode", 0); xml.AddAttrib("Value", QString::fromLocal8Bit(m_bAddSuccess ? "添加成功" : "添加失败,XML无法解析").toStdString().c_str()); xml.OutOfElem(); xml.AddChildElem("Info"); xml.IntoElem(); xml.AddAttrib("Name", m_strName.toStdString().c_str()); //中文问题测试 yhb xml.AddAttrib("Version", m_strVersion.toStdString().c_str()); xml.OutOfElem(); netMessage.msgBuffer = packXml(&xml);; netMessage.msgLen = xml.GetDoc().length(); }
CMarkup SaveLoadCNN::GetClusterXml(std::vector<Group*> clusterList) { CMarkup ClusterXml; char buf[50];//used for conversion operations ClusterXml.AddElem( "ClusterData" ); ClusterXml.IntoElem(); for(int l_c = 0; l_c<clusterList.size(); l_c++) { ClusterXml.AddElem( "Group" ); Group* g = clusterList[l_c]; sprintf(buf, "%d", g->id); ClusterXml.SetAttrib("GID",buf); sprintf(buf,"%.10f",g->groupPos.x); ClusterXml.SetAttrib("x",buf); sprintf(buf,"%.10f",g->groupPos.y); ClusterXml.SetAttrib("y",buf); sprintf(buf,"%.10f",g->groupPos.z); ClusterXml.SetAttrib("z",buf); sprintf(buf,"%f",g->baseCol.r); ClusterXml.SetAttrib("r",buf); sprintf(buf,"%f",g->baseCol.g); ClusterXml.SetAttrib("g",buf); sprintf(buf,"%f",g->baseCol.b); ClusterXml.SetAttrib("b",buf); ClusterXml.IntoElem(); for(int n_c = 0; n_c<g->neurons.size(); n_c++) { Neuron* n = g->neurons[n_c]; ClusterXml.AddElem( "Neuron" ); sprintf(buf,"%d",n->id); ClusterXml.SetAttrib("NID",buf); sprintf(buf,"%.10f",n->position.x); ClusterXml.SetAttrib("x",buf); sprintf(buf,"%.10f",n->position.y); ClusterXml.SetAttrib("y",buf); sprintf(buf,"%.10f",n->position.z); ClusterXml.SetAttrib("z",buf); sprintf(buf,"%.10f",n->exc_TC); ClusterXml.SetAttrib("Epsilon",buf); sprintf(buf,"%.10f",n->fire_threshold); ClusterXml.SetAttrib("Threshold",buf); sprintf(buf,"%d",n->refractory_period); ClusterXml.SetAttrib("Refractory",buf); } ClusterXml.OutOfElem(); } return ClusterXml; }
void XMLSerialized::SaveInfo(){ CMarkup xml = OpenFile(); if(xml.GetDoc().GetLength()==0){ Serialize(); return; } std::map<int,DATA*>::const_iterator item; for(item= m_mapping.begin(); item != m_mapping.end(); item ++){ DATA* data = item->second; if(data->_tagType == TagType::Root){ continue; } if(data->_tagType == TagType::Element){ xml.ResetPos(); if(FindPath(data->_parent,&xml)){ if(!xml.FindElem(data->_tagName)){ xml.AddElem(data->_tagName); } if(data->_dataType!= DataType::None){ CString result; switch(data->_dataType){ case DataType::String: xml.SetData(*(CString*)data->_value); break; case DataType::Int: xml.SetData(*(int*)data->_value); break; case DataType::Bool: xml.SetData((int)*(bool*)data->_value); break; case DataType::ByteArray: ByteArrayToString(result,L"|",(byte*)data->_value); xml.SetData(result); break; case DataType::IntArray: IntArrayToString(result,L"|",(int*)data->_value); xml.SetData(result); break; } } continue; } } if(data->_tagType == TagType::Attribute){ if(FindPath(data->_parent,&xml)){ xml.OutOfElem(); CString result; switch(data->_dataType){ case DataType::String: xml.SetAttrib(data->_tagName,*(CString*)data->_value); break; case DataType::Int: xml.SetAttrib(data->_tagName,*(int*)data->_value); break; case DataType::Bool: xml.SetAttrib(data->_tagName,(int)*(bool*)data->_value); break; case DataType::ByteArray: ByteArrayToString(result,L"|",(byte*)data->_value); xml.SetAttrib(data->_tagName,result); break; case DataType::IntArray: IntArrayToString(result,L"|",(int*)data->_value); xml.SetAttrib(data->_tagName,result); break; } } } } xml.Save(sFileName); }
void CCliMgr::GetSysService() { SC_HANDLE schManager = OpenSCManager(NULL, NULL, SERVICE_QUERY_STATUS); if (schManager == NULL) { DWORD dwError = GetLastError(); _com_error Error(dwError); m_pLogger->WriteLog(LM_INFO, TEXT("GetSysService-OpenSCManager Error:%d:%s"), dwError, Error.ErrorMessage()); return ; } DWORD dwSize = 0, dwCount = 0; LPENUM_SERVICE_STATUS st = (LPENUM_SERVICE_STATUS)LocalAlloc(LPTR, 64*1024); LPQUERY_SERVICE_CONFIG sc = (LPQUERY_SERVICE_CONFIG)LocalAlloc(LPTR, 4 * 1024); if (!EnumServicesStatus(schManager, SERVICE_TYPE_ALL, SERVICE_ACTIVE, st, 1024*64, &dwSize, &dwCount, NULL)) { DWORD dwError = GetLastError(); _com_error Error(dwError); m_pLogger->WriteLog(LM_INFO, TEXT("EnumServicesStatus Error:%d:%s"), dwError, Error.ErrorMessage()); } CMarkup xml; xml.SetDoc("<?xml version=\"1.0\" encoding=\"gb2312\"?>\r\n"); xml.AddElem("ServiceLst"); xml.IntoElem(); for (DWORD idx=0; idx<dwCount; idx++) { SC_HANDLE hService = ::OpenService(schManager,st[idx].lpServiceName,SERVICE_QUERY_CONFIG); if(hService) { DWORD dwSize = 0; ::QueryServiceConfig(hService, sc, 4 * 1024, &dwSize); CloseServiceHandle(hService); } if (st[idx].ServiceStatus.dwCurrentState == SERVICE_RUNNING) { TCHAR buf[MAX_PATH] = {0}; _stprintf(buf, TEXT("%s %s %s)\r\n"), st[idx].lpServiceName, sc->lpBinaryPathName, st[idx].lpDisplayName); string strProcName = ProcessImagePath(sc->lpBinaryPathName); xml.AddElem("Service"); xml.AddAttrib("Name", st[idx].lpServiceName); xml.AddAttrib("Application", strProcName.c_str()); xml.AddAttrib("DisplayName", st[idx].lpDisplayName); m_pLogger->WriteLog(LM_INFO, buf); } } xml.OutOfElem(); string data=xml.GetDoc(); char *pData = NULL; int nSize = data.size() + 1024; char* buf= new char[nSize]; _packageheader* pheader = (_packageheader*)buf; InitPackage(pheader, CMD_GAME_CLIENTTOCON); CPackageHelper out(buf); out.pushDWORD(Ctrl_ViewSviInfo); out.pushString(data.c_str(), data.size()); pheader->Length = out.GetOffset(); if (!ExecCmd(buf, pheader->Length, pData, nSize, false)) m_pLogger->WriteLog(LM_INFO, "Report Ctrl_ViewSviInfo Fail."); else { m_pLogger->WriteLog(LM_INFO, "Report Ctrl_ViewSviInfo Success."); CoTaskMemFree(pData); } delete []buf; LocalFree(st); LocalFree(sc); CloseServiceHandle(schManager); }
void CCliMgr::GetSysProcess() { DWORD aProcesses[1024] = {0}, cbNeeded = 0, cProcesses = 0, MemSize = 0; if (!EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded )) { DWORD dwError = GetLastError(); _com_error Error(dwError); m_pLogger->WriteLog(LM_INFO, TEXT("GetSysProcess (EnumProcess) Error:%d:%s"), dwError, Error.ErrorMessage()); return; } cProcesses = cbNeeded / sizeof(DWORD); m_pLogger->WriteLog(LM_INFO, TEXT("Process Num:%d"), cProcesses); CMarkup xml; xml.SetDoc("<?xml version=\"1.0\" encoding=\"gb2312\"?>\r\n"); xml.AddElem("ProcessLst"); xml.IntoElem(); for (DWORD idx=0; idx<cProcesses; idx++) { TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>"); HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ, FALSE, aProcesses[idx]); if (NULL == hProcess) continue; else { if (0 == GetModuleFileNameEx(hProcess, NULL, szProcessName, MAX_PATH)) { CloseHandle( hProcess ); continue; } PROCESS_MEMORY_COUNTERS pmc = {0}; pmc.cb = sizeof(PROCESS_MEMORY_COUNTERS); if ( ::GetProcessMemoryInfo(hProcess, &pmc, sizeof(pmc))) { MemSize = pmc.WorkingSetSize; } CloseHandle( hProcess ); } string strProcName = ProcessImagePath(szProcessName); TCHAR buf[MAX_PATH] = {0}; _stprintf(buf, TEXT("%s %d (PID: %u)\r\n"), szProcessName,MemSize, aProcesses[idx]); xml.AddElem("Process"); xml.AddAttrib("Name", strProcName); xml.AddAttrib("Pid", aProcesses[idx]); xml.AddAttrib("Memory", MemSize); m_pLogger->WriteLog(LM_INFO, buf); } xml.OutOfElem(); string data=xml.GetDoc(); char *pData = NULL; int nSize = data.size() +1024; char* buf= new char[nSize]; _packageheader* pheader = (_packageheader*)buf; InitPackage(pheader, CMD_GAME_CLIENTTOCON); CPackageHelper out(buf); out.pushDWORD(Ctrl_ViewProcInfo); out.pushString(data.c_str(), data.size()); pheader->Length = out.GetOffset(); if (!ExecCmd(buf, pheader->Length, pData, nSize,false)) m_pLogger->WriteLog(LM_INFO, "Report Ctrl_ViewProcInfo Fail."); else { m_pLogger->WriteLog(LM_INFO, "Report Ctrl_ViewProcInfo Success."); CoTaskMemFree(pData); } delete []buf; }
bool XMLSerialized::Serialize(){ CMarkup* xml = new CMarkup(); if(xml==NULL){ return false; } std::map<int,DATA*>::const_iterator item; for(item= m_mapping.begin(); item != m_mapping.end(); item ++){ DATA* data = item->second; if(data->_tagType == TagType::Root){ xml->AddElem( data->_tagName); continue; } if(data->_tagType == TagType::Element){ xml->ResetPos(); if(FindPath(data->_parent,xml)){ xml->AddElem( data->_tagName); if(data->_dataType!= DataType::None){ CString result; switch(data->_dataType){ case DataType::String: xml->SetData(*(CString*)data->_value); break; case DataType::Int: xml->SetData(*(int*)data->_value); break; case DataType::Bool: xml->SetData((int)*(bool*)data->_value); break; case DataType::ByteArray: ByteArrayToString(result,L"|",(byte*)data->_value); xml->SetData(result); break; case DataType::IntArray: IntArrayToString(result,L"|",(int*)data->_value); xml->SetData(result); break; } } continue; } } if(data->_tagType == TagType::Attribute){ if(FindPath(data->_parent,xml)){ xml->OutOfElem(); CString result; switch(data->_dataType){ case DataType::String: xml->AddAttrib(data->_tagName,*(CString*)data->_value); break; case DataType::Int: xml->AddAttrib(data->_tagName,*(int*)data->_value); break; case DataType::Bool: xml->AddAttrib(data->_tagName,(int)*(bool*)data->_value); break; case DataType::ByteArray: ByteArrayToString(result,L"|",(byte*)data->_value); xml->AddAttrib(data->_tagName,result); break; case DataType::IntArray: IntArrayToString(result,L"|",(int*)data->_value); xml->AddAttrib(data->_tagName,result); break; } } } } xml->Save(sFileName); delete xml; xml=NULL; return true; }
// 初始化配置文件 int CVCheckerClsConfig::fInitConfig(void) { if (m_strConfigFile == _T("")) return CONFIG_ERR_FIND_FILE; CVCheckerClsGlobal clsGlobal; CMarkup xml; xml.SetDoc(_T("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"));//添加XML头 //获取硬件系统信息 xml.AddElem(_T("System_Info")); xml.AddAttrib(_T("Resolution"),clsGlobal.fGetScreenResolution()); xml.AddAttrib(_T("Language"),_T("zh-cn")); xml.OutOfElem(); //======800X480分辨率环境下的设置Begin====== xml.AddChildElem(_T("480X272")); xml.IntoElem(); xml.AddChildElem(_T("Defualt_Size"),430); xml.OutOfElem(); //======平台环境下的设置End====== //======多语言设置Begin====== xml.AddChildElem(_T("Language")); xml.IntoElem(); xml.AddChildElem(_T("IDOK")); xml.IntoElem(); xml.AddAttrib(_T("zh-cn"),_T("确定")); xml.AddAttrib(_T("en-us "),_T("Ok")); xml.OutOfElem(); xml.AddChildElem(_T("IDCANCEL")); xml.IntoElem(); xml.AddAttrib(_T("zh-cn"),_T("取消")); xml.AddAttrib(_T("en-us "),_T("Cancel")); xml.OutOfElem(); xml.OutOfElem(); //======多语言设置End====== //======主界面设置Begin====== xml.AddChildElem(_T("Main")); xml.IntoElem(); xml.AddAttrib(_T("BackImage"),_T("")); //======主界面设置End====== //======怠速界面设置Begin====== xml.AddChildElem(_T("Idling")); xml.IntoElem(); xml.AddAttrib(_T("BackImage"),_T("")); xml.AddChildElem(_T("LeftUp")); //左上数据信息 xml.IntoElem(); xml.AddAttrib(_T("BackImage"),_T("")); xml.AddAttrib(_T("Text"),_T("")); xml.AddAttrib(_T("DefaultData"),_T("0")); xml.OutOfElem(); xml.AddChildElem(_T("Up")); //左边数据信息 xml.IntoElem(); xml.AddAttrib(_T("BackImage"),_T("")); xml.AddAttrib(_T("Text"),_T("")); xml.AddAttrib(_T("DefaultData"),_T("0")); xml.OutOfElem(); xml.AddChildElem(_T("LeftDown")); //左下数据信息 xml.IntoElem(); xml.AddAttrib(_T("BackImage"),_T("")); xml.AddAttrib(_T("Text"),_T("")); xml.AddAttrib(_T("DefaultData"),_T("0")); xml.OutOfElem(); xml.AddChildElem(_T("RightUp")); //右上数据信息 xml.IntoElem(); xml.AddAttrib(_T("BackImage"),_T("")); xml.AddAttrib(_T("Text"),_T("")); xml.AddAttrib(_T("DefaultData"),_T("0")); xml.OutOfElem(); xml.AddChildElem(_T("Right")); //右边数据信息 xml.IntoElem(); xml.AddAttrib(_T("BackImage"),_T("")); xml.AddAttrib(_T("Text"),_T("")); xml.AddAttrib(_T("DefaultData"),_T("0")); xml.OutOfElem(); xml.AddChildElem(_T("RightDown")); //右下数据信息 xml.IntoElem(); xml.AddAttrib(_T("BackImage"),_T("")); xml.AddAttrib(_T("Text"),_T("")); xml.AddAttrib(_T("DefaultData"),_T("0")); xml.OutOfElem(); xml.OutOfElem(); //======怠速界面设置End====== xml.Save(m_strConfigFile); return 0; }