Exemple #1
0
void Item::addBaseValues(CMarkup &xml) const {
    xml.AddElem("itemtypename", itemtypename_);

    xml.AddElem("itemtypeid", itemtypeid_);

    xml.AddElem("number", tostring(number_));
}
Exemple #2
0
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;
}
Exemple #3
0
void XmlProxyCallback::_sendXmlMessage(const std::string & sMessage)
{
	CMarkup xmlMessage;

    xmlMessage.AddElem("response");
    xmlMessage.IntoElem();
    xmlMessage.AddElem("message", sMessage);
	xmlMessage.OutOfElem();

	_sendXmlResponse(xmlMessage, _sResponseEncode);
}
Exemple #4
0
string Money::showXml () const
{
   CMarkup xml;
   xml.AddElem("money");
   xml.IntoElem();

   addBaseValues(xml);
   
   xml.AddElem("amount", tostring(amount_));

   return xml.GetDoc();
}
Exemple #5
0
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();
}
Exemple #10
0
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();
}
Exemple #12
0
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;

}
Exemple #13
0
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;	
}
Exemple #14
0
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();
}
Exemple #15
0
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"));
}
Exemple #17
0
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);
}
Exemple #18
0
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;
}
Exemple #19
0
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();
}
Exemple #21
0
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;
}
Exemple #22
0
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);
}
Exemple #23
0
	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);
	}
Exemple #24
0
	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;
	}
Exemple #25
0
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;
}