Пример #1
0
bool CInstrOffsetData::Save(LPCTSTR filePath) {
	CMarkup xml;
	xml.SetDoc("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n");
	xml.AddNode(CMarkup::MNT_ELEMENT, "root");
	xml.IntoElem();

	M2::iterator m2it;

	xml.AddNode(CMarkup::MNT_ELEMENT, "header");
	xml.SetAttrib("version", 1);

	xml.AddNode(CMarkup::MNT_ELEMENT, "data");
	xml.IntoElem();

	for (m2it = m_data.begin(); m2it != m_data.end(); m2it++) {
		CString frequency;
		frequency.Format("%f", m2it->first);
		xml.AddNode(CMarkup::MNT_ELEMENT, "frequency");
		xml.SetAttrib("value", frequency);
		xml.IntoElem();
		M1::iterator m1it;
		for (m1it = m2it->second.begin(); m1it != m2it->second.end(); m1it++) {
			CString dbm, offset;
			dbm.Format("%f", m1it->first);
			offset.Format("%f", m1it->second);
			
			xml.AddNode(CMarkup::MNT_ELEMENT, "power");
			
			xml.SetAttrib("dest_power", dbm);
			xml.SetAttrib("offset", offset);
		}
		xml.OutOfElem();
	}
	return xml.Save(filePath);
}
Пример #2
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);

}
Пример #3
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);
}
Пример #4
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;

}
Пример #5
0
int COptDownloadPackage::downloadInfoFile()
{
	CConfig				*pAgentConfig = getAgentConfig();
	CComProvider		*pProvider = getComServerProvider();
	CServerConfig		*pServerConfig = pProvider->newConfig();
	CConnexionAbstract	*pConnexion = NULL;
	TCHAR				szDummy[_MAX_PATH + 1];

	ASSERT(pAgentConfig);
	ASSERT(pProvider);
	ASSERT(pServerConfig);

	// Create provider connection object using default Provider configuration
	if ((pConnexion = pProvider->newConnexion(pServerConfig)) == NULL)
	{
		m_pLogger->log(LOG_PRIORITY_ERROR, _T("DOWNLOAD => Failed creating connection for Communication Provider <%s>"), pAgentConfig->getCommunicationProvider());
		pProvider->deleteConfig(pServerConfig);
		return FALSE;
	}
	// Download metadata info file
	m_pLogger->log(LOG_PRIORITY_DEBUG, _T("DOWNLOAD => Metadata file <info> for package <%s> is located at <%s>"), m_csId, getRemoteMetadataURL());
	if (!pConnexion->getFile(getRemoteMetadataURL(), getLocalMetadataFilename()))
	{
		m_pLogger->log(LOG_PRIORITY_ERROR, _T("DOWNLOAD => Failed to download Metadata file <%s> to <%s>"), getRemoteMetadataURL(), getLocalMetadataFilename());
		pProvider->deleteConnexion(pConnexion);
		pProvider->deleteConfig(pServerConfig);
		return FALSE;
	}
	m_pLogger->log(LOG_PRIORITY_DEBUG, _T("DOWNLOAD => Unloading communication provider"));
	// Use provider to delete connexion and server config
	pProvider->deleteConnexion(pConnexion);
	pProvider->deleteConfig(pServerConfig);

	// Open metadata file to add fragment location
	CString csBuffer;
	CMarkup xml;
	if (!xml.LoadFile(getLocalMetadataFilename()))
	{
		m_pLogger->log(LOG_PRIORITY_ERROR, _T("DOWNLOAD => Cannot read or parse Metadata file <%s>"), getLocalMetadataFilename());
		return FALSE;
	}
	// Add fragment location to meta data
	xml.FindFirstElem(_T("DOWNLOAD"));
	xml.SetAttrib(_T("LOC"), m_csRemotePackLoc);
	// Add package schedule to meta data
	xml.SetAttrib(_T("SCHEDULE"), m_csSchedule);
	// Add post execution command to meta data
	xml.SetAttrib(_T("POSTCMD"), m_csPostCmd);
	// Write meta data file
	if (!xml.SaveFile(getLocalMetadataFilename()))
	{
		m_pLogger->log(LOG_PRIORITY_ERROR, _T("DOWNLOAD => Can't update Metadata file <%s>"), getLocalMetadataFilename());
		return FALSE;
	}
	// Compute digest on meta data and add it to Registry
	if (!fileDigest(getLocalMetadataFilename(), csBuffer))
	{
		m_pLogger->log(LOG_PRIORITY_ERROR, _T("DOWNLOAD => Can't register package <%s> into Registry"), m_csId);
		DeleteFile(getLocalMetadataFilename());
		return FALSE;
	}
	if (!regAddPackageDigest(m_csId, csBuffer))
	{
		m_pLogger->log(LOG_PRIORITY_ERROR, _T("DOWNLOAD => Can't register package <%s> into Registry"), m_csId);
		DeleteFile(getLocalMetadataFilename());
		return FALSE;
	}
	// Now create a timestamp 
	csBuffer.Format(_T("%s\\%s\\%s"), getDownloadFolder(), m_csId, OCS_DOWNLOAD_TIMESTAMP);
	if (!fileExists(csBuffer))
	{
		_ltot(time(NULL), szDummy, 10);
		if (!WriteTextToFile(szDummy, csBuffer))
			m_pLogger->log(LOG_PRIORITY_ERROR, _T("DOWNLOAD => Can't create timestamp file <%s>"), csBuffer);
	}
	else
		m_pLogger->log(LOG_PRIORITY_DEBUG, _T("DOWNLOAD => Timestamp file <%s> already exists"), csBuffer);
	m_pLogger->log(LOG_PRIORITY_DEBUG, _T("DOWNLOAD => Retrieve info file...OK (pack %s)"), m_csId);
	return TRUE;
}
Пример #6
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;
}
Пример #7
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);
}