2 #include <QNetworkRequest>
3 //#include <QNetworkReply>
11 #include <QApplication>
12 #include "xmlwriter.h"
15 /*! @brief Constructor, connects object to GUI
17 XmlWriter::XmlWriter(Ui_MainWindow* myMainWindow)
25 XmlWriter::~XmlWriter()
30 /*! @brief Opens and closes a file, when xml information is written into a file,
31 * and passes file to writeXmlFile()
32 * @note Partly harcoded and commented for git.
33 * @todo Replace hardcoced filename and GUI elements to finally used widgets.
35 void XmlWriter::xmlWrite()
37 //QString filename = ui->lineEditFile->text();
38 QString filename = "xmlfile.xml";
40 if (!file.open(QFile::WriteOnly | QFile::Text)) {
41 /*QMessageBox::warning(this->ui->centralWidget, tr("QXmlStream Bookmarks"),
42 tr("Cannot write file %1:\n%2.")
44 .arg(file.errorString()));
46 qDebug() << "_xmlWrite fail";
54 /*! @brief Writes general xml information.
55 * @todo Check API connection to QBuffer, when Speed Freek network client has been written.
57 bool XmlWriter::writeXmlFile(QIODevice *device)
58 //bool XmlWriter::writeXmlFile(QBuffer *device)
60 xmlwriter.setDevice(device);
61 xmlwriter.writeStartDocument();
62 xmlwriter.writeDTD("<!DOCTYPE xml>");
63 xmlwriter.writeStartElement("xml");
64 xmlwriter.writeAttribute("version", "1.0");
66 xmlwriter.writeEndDocument();
71 /*! @brief Writes Speed Freek application specific items as tags and contents.
72 * @brief Results of speed/ direction/ acceleration into QMap are calculated elsewhere
73 * @todo Consider looping of writing QMap values.
74 * @todo Replace hardcoced names to finally used GUI elements.
76 void XmlWriter::writeItems()
78 //xmlwriter.writeCharacters(ui->lineEditPlace->text());
80 xmlwriter.writeStartElement("place");
81 xmlwriter.writeCharacters("rallirata");
82 xmlwriter.writeEndElement();
84 xmlwriter.writeStartElement("date");
85 xmlwriter.writeCharacters(QDate::currentDate().toString());
86 xmlwriter.writeEndElement();
88 xmlwriter.writeStartElement("time");
89 xmlwriter.writeCharacters(QTime::currentTime().toString());
90 xmlwriter.writeEndElement();
93 xmlwriter.writeStartElement("datetime");
94 xmlwriter.writeCharacters(QDateTime::currentDateTime().toString());
95 xmlwriter.writeEndElement(); */
97 xmlwriter.writeStartElement("result");
98 xmlwriter.writeStartElement("speed");
99 xmlwriter.writeAttribute("value", QString::number(resultmap.value("speed")));
100 xmlwriter.writeAttribute("unit", "m/s");
101 xmlwriter.writeEndElement();
102 xmlwriter.writeStartElement("distance");
103 xmlwriter.writeAttribute("value", QString::number(resultmap.value("distance")));
104 xmlwriter.writeAttribute("unit", "m");
105 xmlwriter.writeEndElement();
106 xmlwriter.writeStartElement("acceleration");
107 xmlwriter.writeAttribute("value", QString::number(resultmap.value("acceleration")));
108 xmlwriter.writeAttribute("unit", "m/s2");
109 xmlwriter.writeEndElement();
110 xmlwriter.writeEndElement(); //result
112 //xmlwriter.writeTextElement("speed", QString::number(resultmap.value("speed")) + " m/s");
113 //xmlwriter.writeTextElement("distance", QString::number(resultmap.value("distance")) + " m");
114 //xmlwriter.writeTextElement("acceleration", QString::number(resultmap.value("acceleration")) + " m/s2");
117 /*! @brief Initializes QMap by zeroing values for a new measurement.
119 void XmlWriter::initResultmap()
121 resultmap["acceleration"] = 0;
122 resultmap["speed"] = 0;
123 resultmap["distance"] = 0;
126 /*! @brief A temp function during development, used until real QMap available.
128 void XmlWriter::fillResultmap()
130 resultmap["acceleration"] = 9;
131 resultmap["speed"] = 48;
132 resultmap["distance"] = 600;