Corrections to reading route from file
[speedfreak] / Client / xmlwriter.cpp
index 2b1c463..26eed66 100644 (file)
@@ -16,7 +16,7 @@
   */
 XmlWriter::XmlWriter()
 {
-    tmpvalue = 10;
+    tmpvalue = 110;
 }
 
 /**
@@ -76,14 +76,77 @@ void XmlWriter::writeResult(QBuffer *netbuf)
     tmpvalue++;
     qDebug() << tmpvalue;
     xmlwriter.writeAttribute("value", QString::number(tmpvalue));
-    xmlwriter.writeAttribute("unit", "seconds");
-    xmlwriter.writeAttribute("date", QDateTime::currentDateTime().toString());
     xmlwriter.writeEndElement();
     xmlwriter.writeEndDocument();
 }
 
 
 /**
+  *@brief Write track to server.
+  *@param ptrTable points to GPSData::gpsDataArray[100][4].
+  *@param counter is GPSData::roundCounter.
+  *@todo Decide suitable attributes.
+  */
+void XmlWriter::writeGpsTrack(QBuffer *netbuf, double *ptrTable, int counter)
+{
+    qDebug() << "_writeGpsTrack";
+
+    double *ptrValue;
+    ptrValue = ptrTable;
+    double tmp = 0;
+
+    xmlwriter.setDevice(netbuf);
+
+    xmlwriter.writeStartDocument();
+
+    xmlwriter.writeStartElement("gpx");
+    xmlwriter.writeAttribute("someattribute", "abc");
+    xmlwriter.writeAttribute("otherattribute", "cde");
+
+    xmlwriter.writeStartElement("metadata");
+    xmlwriter.writeStartElement("link");
+    xmlwriter.writeAttribute("href", "http://api.speedfreak-app.com/api/track");
+    xmlwriter.writeCharacters("Speed Freak");
+    xmlwriter.writeEndElement();
+    xmlwriter.writeStartElement("time");
+    xmlwriter.writeCharacters(QDateTime::currentDateTime().toString());
+    xmlwriter.writeEndElement();
+    xmlwriter.writeEndElement();    //metadata
+
+    xmlwriter.writeStartElement("trk");
+    xmlwriter.writeStartElement("name");
+    xmlwriter.writeCharacters("Example Track");
+    xmlwriter.writeEndElement();
+    xmlwriter.writeStartElement("trkseg");
+    for(int i = 0; i < counter; i++)
+    {
+        xmlwriter.writeStartElement("trkpt");
+        tmp = *ptrValue;
+        ptrValue++;
+        xmlwriter.writeAttribute("lat", QString::number(tmp));    //gpspoints[i][0]
+        tmp = *ptrValue;
+        ptrValue++;
+        xmlwriter.writeAttribute("lon", QString::number(tmp));    //gpspoints[i][1]
+        xmlwriter.writeStartElement("ele");
+        tmp = *ptrValue;
+        ptrValue++;
+        xmlwriter.writeCharacters(QString::number(tmp));          //gpspoints[i][2]
+        xmlwriter.writeEndElement();
+        xmlwriter.writeStartElement("speed");
+        tmp = *ptrValue;
+        ptrValue++;
+        xmlwriter.writeCharacters(QString::number(tmp));          //gpspoints[i][3]
+        xmlwriter.writeEndElement();
+        xmlwriter.writeEndElement();    //trkpt
+    }
+    xmlwriter.writeEndElement();        //trkseg
+    xmlwriter.writeEndElement();        //trk
+    xmlwriter.writeEndElement();        //gpx
+    xmlwriter.writeEndDocument();
+}
+
+
+/**
   *@brief Opens and closes a file, when xml information is written into a file,
   *and passes file to writeXmlFile()
   *@param usr for user name.
@@ -91,7 +154,8 @@ void XmlWriter::writeResult(QBuffer *netbuf)
   *@param email.
   *@todo Replace hardcoced filename to finally GUI entry widget.
   */
-void XmlWriter::writeXml(QString usr, QString psswd, QString email)
+//void XmlWriter::writeXml(QString usr, QString psswd, QString email)
+void XmlWriter::writeXml()
 {
     QString filename = "xmlcategoryfile.xml";
     QFile file(filename);
@@ -118,8 +182,8 @@ bool XmlWriter::writeXmlFile(QIODevice *device)
 {
     xmlwriter.setDevice(device);
     xmlwriter.writeStartDocument();
-    writeItems();
-    //serverWritesXml();
+    //writeItems();
+    serverWritesXml();
     xmlwriter.writeEndDocument();
 
     return true;
@@ -146,26 +210,6 @@ void XmlWriter::writeItems()
   */
 void XmlWriter::serverWritesXml()
 {
-    /* Server sends to client */
-    /*
-    int i = 0;
-    int n = 5;
-
-    //Write top 10 Results
-    xmlwriter.writeStartElement("results");
-    xmlwriter.writeAttribute("category", "acceleration-0-40");
-    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();
-    }
-    */
     //Write categories
     xmlwriter.writeStartElement("categories");
 
@@ -174,7 +218,7 @@ void XmlWriter::serverWritesXml()
     xmlwriter.writeEndElement();
 
     xmlwriter.writeStartElement("category");
-    xmlwriter.writeCharacters("acceleration-0-60");
+    xmlwriter.writeCharacters("acceleration-0-40");
     xmlwriter.writeEndElement();
 
     xmlwriter.writeStartElement("category");