/* returns a newly allocated string with an xml dump of node * N.B. * ignores main_prot array (protocol names), because is already dumped * with protostack stats */ gchar *node_xml(const node_t * node) { gchar *msg; gchar *msg_id; gchar *msg_stats; gchar *msg_resolved; gchar *msg_numeric; if (!node) return xmltag("node", ""); msg_id = node_id_xml(&node->node_id); msg_stats = traffic_stats_xml(&node->node_stats); msg_resolved = xmltag("resolved_name", "%s", node->name->str); msg_numeric = xmltag("numeric_name", "%s", node->numeric_name->str); msg = xmltag("node","\n<name>\n%s%s%s</name>\n%s", msg_id, msg_resolved, msg_numeric, msg_stats); g_free(msg_id); g_free(msg_stats); g_free(msg_resolved); g_free(msg_numeric); return msg; }
gchar *nodes_catalog_xml(void) { gchar *msg; gchar *xml; msg = g_strdup(""); nodes_catalog_foreach(node_xml_tvs, &msg); xml = xmltag("nodes","\n%s", msg); g_free(msg); return xml; }
static gchar *header_xml(void) { gchar *dvc = NULL; gchar *xml; time_t timenow; const struct tm *tmnow; char timebuf[256]; if (appdata.input_file) dvc = xmltag("capture_file", appdata.input_file); else if (appdata.interface) dvc = xmltag("capture_device", appdata.interface); timenow = time(NULL); tmnow = localtime(&timenow); strftime(timebuf, sizeof(timebuf), "%F %T %z", tmnow); xml = xmltag("header", "\n%s<timestamp>%s</timestamp>\n", dvc ? dvc : "", timebuf); g_free(dvc); return xml; }
bool Prefs_KeyboardShortcuts::exportKeySet(QString filename) { QFileInfo fi = QFileInfo(filename); QString exportFileName; if (filename.endsWith(".xml")) exportFileName = filename; else exportFileName = filename+".xml"; if (overwrite(this, exportFileName)) { bool ok; QString setName = QInputDialog::getText(this, tr("Export Keyboard Shortcuts to File"), tr("Enter the name of the shortcut set:"), QLineEdit::Normal, QString::null, &ok); if (!( ok && !setName.isEmpty()) ) return false; QDomDocument doc( "keymapentries" ); QString keyset=QString("<shortcutset name=\"%1\"></shortcutset>").arg(setName); doc.setContent(keyset); QDomElement keySetElement=doc.documentElement(); QMap<QString,Keys>::Iterator itEnd=keyMap.end(); for (QMap<QString,Keys>::Iterator it=keyMap.begin(); it!=itEnd; ++it) { if (it.value().keySequence.isEmpty() && it.key().isEmpty()) continue; QDomElement function_shortcut = doc.createElement("function"); function_shortcut.setAttribute("name", it.key()); function_shortcut.setAttribute("shortcut", getKeyText(it.value().keySequence)); keySetElement.appendChild(function_shortcut); } QFile f(filename); if(!f.open(QIODevice::WriteOnly)) return false; QDataStream s(&f); QByteArray xmltag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); s.writeRawData(xmltag.data(), xmltag.length()); QByteArray xmldoc = doc.toByteArray(4); s.writeRawData(xmldoc, xmldoc.length()); f.close(); } return true; }