Added xmlwriter to project.
authortiina.kivilinna-korhola@windowslive.com <tkk@tkk-laptop.(none)>
Fri, 5 Mar 2010 08:45:21 +0000 (10:45 +0200)
committertiina.kivilinna-korhola@windowslive.com <tkk@tkk-laptop.(none)>
Fri, 5 Mar 2010 08:45:21 +0000 (10:45 +0200)
Changed the xml content.

Client/UI.pro
Client/xmlwriter.cpp
Client/xmlwriter.h

index ed44f43..e19d071 100644 (file)
@@ -14,8 +14,8 @@ SOURCES += main.cpp \
     accelerometer.cpp \
     loginwindow.cpp \
     registration.cpp \
-    measures.cpp
-
+    measures.cpp \
+    xmlwriter.cpp
 HEADERS += carmainwindow.h \
     resultdialog.h \
     stringlistmodel.h \
@@ -24,8 +24,8 @@ HEADERS += carmainwindow.h \
     calculate.h \
     loginwindow.h \
     registration.h \
-    measures.h
-
+    measures.h \
+    xmlwriter.h
 FORMS += carmainwindow.ui \
     resultdialog.ui \
     measuredialog.ui \
index f7b02cd..f860975 100644 (file)
 #include "xmlwriter.h"
 
 
-/*! @brief Constructor, connects object to GUI
- */
-XmlWriter::XmlWriter(Ui_MainWindow* myMainWindow)
+/**
+  *@brief Constructor, connects object to GUI
+  *@param Pointer to carmainwindow, which is temporarily used during development
+  */
+XmlWriter::XmlWriter(Ui_CarMainWindow* myMainWindow)
 {
     ui = myMainWindow;
 }
 
 
-/*! @brief Destructor
+/**
+  *@brief Destructor
   */
 XmlWriter::~XmlWriter()
 {
 
 }
 
-/*! @brief Opens and closes a file, when xml information is written into a file,
-  * and passes file to writeXmlFile()
-  * @note Partly harcoded and commented for git.
-  * @todo Replace hardcoced filename and GUI elements to finally used widgets.
+/**
+  *@brief Opens and closes a file, when xml information is written into a file,
+  *and passes file to writeXmlFile()
+  *@note Partly harcoded and commented for git.
+  *@todo Replace hardcoced filename and GUI elements to finally used widgets.
   */
-void XmlWriter::xmlWrite()
+void XmlWriter::writeXml()
 {
-    //QString filename = ui->lineEditFile->text();
     QString filename = "xmlfile.xml";
     QFile file(filename);
     if (!file.open(QFile::WriteOnly | QFile::Text)) {
-        /*QMessageBox::warning(this->ui->centralWidget, tr("QXmlStream Bookmarks"),
-                             tr("Cannot write file %1:\n%2.")
-                             .arg(filename)
-                             .arg(file.errorString()));
-                             */
         qDebug() << "_xmlWrite fail";
         return;
     }
@@ -51,79 +49,71 @@ void XmlWriter::xmlWrite()
     file.close();
 }
 
-/*! @brief Writes general xml information.
-  * @todo Check API connection to QBuffer, when Speed Freek network client has been written.
+/**
+  *@brief Writes general xml information.
+  *Calls other functions to insert login and result information.
+  *@todo Check API connection to QBuffer, when Speed Freek network client has been written.
   */
 bool XmlWriter::writeXmlFile(QIODevice *device)
 //bool XmlWriter::writeXmlFile(QBuffer *device)
 {
     xmlwriter.setDevice(device);
     xmlwriter.writeStartDocument();
-    xmlwriter.writeDTD("<!DOCTYPE xml>");
     xmlwriter.writeStartElement("xml");
     xmlwriter.writeAttribute("version", "1.0");
+    writeRegister();
     writeItems();
     xmlwriter.writeEndDocument();
 
     return true;
 }
 
-/*! @brief Writes Speed Freek application specific items as tags and contents.
-  * @brief Results of speed/ direction/ acceleration into QMap are calculated elsewhere
-  * @todo Consider looping of writing QMap values.
-  * @todo Replace hardcoced names to finally used GUI elements.
+/**
+  *@brief Writes Speed Freek application specific items as tags and contents.
+  *@brief Results of speed/ direction/ acceleration into QMap are calculated elsewhere
+  *@todo Replace hardcoced user, password and email to finally used GUI elements.
   */
-void XmlWriter::writeItems()
+void XmlWriter::writeRegister()
 {
-    //xmlwriter.writeCharacters(ui->lineEditPlace->text());
-    //Temporarily:
-    xmlwriter.writeStartElement("place");
-    xmlwriter.writeCharacters("rallirata");
-    xmlwriter.writeEndElement();
+    xmlwriter.writeStartElement("user");
 
-    xmlwriter.writeStartElement("date");
-    xmlwriter.writeCharacters(QDate::currentDate().toString());
+    xmlwriter.writeStartElement("login");
+    xmlwriter.writeCharacters("test123");
     xmlwriter.writeEndElement();
 
-    xmlwriter.writeStartElement("time");
-    xmlwriter.writeCharacters(QTime::currentTime().toString());
+    xmlwriter.writeStartElement("password");
+    xmlwriter.writeCharacters("thisisaveryinsecurepassword");
     xmlwriter.writeEndElement();
 
-    /* Or combined:
-    xmlwriter.writeStartElement("datetime");
-    xmlwriter.writeCharacters(QDateTime::currentDateTime().toString());
-    xmlwriter.writeEndElement(); */
-
-    xmlwriter.writeStartElement("result");
-    xmlwriter.writeStartElement("speed");
-    xmlwriter.writeAttribute("value", QString::number(resultmap.value("speed")));
-    xmlwriter.writeAttribute("unit", "m/s");
-    xmlwriter.writeEndElement();
-    xmlwriter.writeStartElement("distance");
-    xmlwriter.writeAttribute("value", QString::number(resultmap.value("distance")));
-    xmlwriter.writeAttribute("unit", "m");
+    //Is this neacessary when sending results
+    xmlwriter.writeStartElement("email");
+    xmlwriter.writeCharacters("test@example.com");
     xmlwriter.writeEndElement();
-    xmlwriter.writeStartElement("acceleration");
-    xmlwriter.writeAttribute("value", QString::number(resultmap.value("acceleration")));
-    xmlwriter.writeAttribute("unit", "m/s2");
+
     xmlwriter.writeEndElement();
-    xmlwriter.writeEndElement();    //result
-    //or:
-    //xmlwriter.writeTextElement("speed", QString::number(resultmap.value("speed")) + " m/s");
-    //xmlwriter.writeTextElement("distance", QString::number(resultmap.value("distance")) + " m");
-    //xmlwriter.writeTextElement("acceleration", QString::number(resultmap.value("acceleration")) + " m/s2");
 }
 
-/*! @brief Initializes QMap by zeroing values for a new measurement.
+/**
+  *@brief Writes Speed Freek results items as tags and contents.
+  *@brief Results of speed/ direction/ acceleration into QMap are calculated elsewhere
+  *@todo Consider looping of writing QMap values.
+  *@todo Replace hardcoced names to finally used values.
   */
-void XmlWriter::initResultmap()
+void XmlWriter::writeItems()
 {
-    resultmap["acceleration"] = 0;
-    resultmap["speed"] = 0;
-    resultmap["distance"] = 0;
+    //During development
+    this->fillResultmap();
+
+    xmlwriter.writeStartElement("result");
+    xmlwriter.writeAttribute("value", QString::number(resultmap.value("speed")));
+    xmlwriter.writeAttribute("unit", "seconds");
+    xmlwriter.writeAttribute("date", QDateTime::currentDateTime().toString());
+    xmlwriter.writeEndElement();
 }
 
-/*! @brief A temp function during development, used until real QMap available.
+
+/**
+  *@brief A temp function during development, used until real QMap available.
   */
 void XmlWriter::fillResultmap()
 {
@@ -131,3 +121,27 @@ void XmlWriter::fillResultmap()
     resultmap["speed"] = 48;
     resultmap["distance"] = 600;
 }
+
+/**
+  *@brief A temp function during development, used to create a "serverfile".
+  */
+void XmlWriter::serverWritesTop()
+{
+    int i = 0;
+    int n = 5;
+
+    /* Server sends to client */
+    xmlwriter.writeStartElement("results");
+    xmlwriter.writeAttribute("category", "acceleration-0-100");
+    xmlwriter.writeAttribute("unit", "seconds");
+    xmlwriter.writeAttribute("description", "Acceleration from 0 to 100 km/h");
+
+    for (i = 0; i < n; i++) {
+        xmlwriter.writeStartElement("result");
+        xmlwriter.writeAttribute("position", QString::number(i));
+        xmlwriter.writeAttribute("user", "test123");
+        xmlwriter.writeAttribute("date", QDateTime::currentDateTime().toString());
+        xmlwriter.writeAttribute("value", QString::number(i+i+1));
+        xmlwriter.writeEndElement();
+    }
+}
index 8f7ccda..00cc5d8 100644 (file)
@@ -1,26 +1,27 @@
 #ifndef XMLWRITER_H
 #define XMLWRITER_H
 
-#include "ui_mainwindow.h"
+#include "ui_carmainwindow.h"
 
 
 class XmlWriter : public QObject
 {
 public:
-    XmlWriter(Ui_MainWindow* myMainWindow);
+    XmlWriter(Ui_CarMainWindow* myMainWindow);
     ~XmlWriter();
 
 private:
     QXmlStreamWriter xmlwriter;
     QMap<QString, int> resultmap;
-    Ui_MainWindow* ui;
+    Ui_CarMainWindow* ui;
 
 public slots:
     bool writeXmlFile(QIODevice* device);
     void writeItems();
-    void initResultmap();
     void fillResultmap();
-    void xmlWrite();
+    void writeXml();
+    void writeRegister();
+    void serverWritesTop();
 
 };