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); }
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 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); }
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; }
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; }
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); }