Route and Results buttons updated.
[speedfreak] / Client / xmlwriter.cpp
index 26eed66..3abe02a 100644 (file)
@@ -2,21 +2,20 @@
  * Xml writer
  *
  * @author     Tiina Kivilinna-Korhola
+ * @author     Toni Jussila <toni.jussila@fudeco.com>
  * @copyright  (c) 2010 Speed Freak team
  * license     http://opensource.org/licenses/gpl-license.php GNU Public License
  */
 
 #include "xmlwriter.h"
 
-
-
 /**
   *@brief Constructor, connects object to GUI
   *@param Pointer to carmainwindow, which is temporarily used during development
   */
 XmlWriter::XmlWriter()
 {
-    tmpvalue = 110;
+
 }
 
 /**
@@ -59,13 +58,12 @@ void XmlWriter::writeRegistering(QBuffer *netbuf, QString usr, QString psswd, QS
     xmlwriter.writeEndDocument();
 }
 
-
 /**
   *@brief Writes Speed Freek results items as tags and contents into a buffer.
   *@todo Consider looping when writing many values.
   *@todo Replace test value to finally used variables.
   */
-void XmlWriter::writeResult(QBuffer *netbuf)
+void XmlWriter::writeResult(QBuffer *netbuf, double result)
 {
     qDebug() << "_writeResult";
 
@@ -73,79 +71,47 @@ void XmlWriter::writeResult(QBuffer *netbuf)
 
     xmlwriter.writeStartDocument();
     xmlwriter.writeStartElement("result");
-    tmpvalue++;
-    qDebug() << tmpvalue;
-    xmlwriter.writeAttribute("value", QString::number(tmpvalue));
+    xmlwriter.writeAttribute("value", QString::number(result));
     xmlwriter.writeEndElement();
     xmlwriter.writeEndDocument();
 }
 
-
 /**
   *@brief Write track to server.
-  *@param ptrTable points to GPSData::gpsDataArray[100][4].
+  *@param netbuf where to write.
   *@param counter is GPSData::roundCounter.
   *@todo Decide suitable attributes.
   */
-void XmlWriter::writeGpsTrack(QBuffer *netbuf, double *ptrTable, int counter)
+void XmlWriter::writeGpsTrack(QBuffer *netbuf, int counter, int start, int stop, int lat, int lon, int alt, int speed, int time)
 {
     qDebug() << "_writeGpsTrack";
 
     double *ptrValue;
-    ptrValue = ptrTable;
+    //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");
+    xmlwriter.writeStartElement("Route");
+    xmlwriter.writeAttribute("starttime", QDateTime::currentDateTime().toString());
+    xmlwriter.writeAttribute("endtime", QDateTime::currentDateTime().toString());
+    xmlwriter.writeAttribute("points", QDateTime::currentDateTime().toString());
     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.writeStartElement("point");
+        xmlwriter.writeAttribute("lat", QString::number(lat));
+        xmlwriter.writeAttribute("lon", QString::number(lon));
+        xmlwriter.writeAttribute("alt", QString::number(alt));
+        xmlwriter.writeAttribute("speed", QString::number(speed));
+        xmlwriter.writeAttribute("time", QString::number(time));
         xmlwriter.writeEndElement();
-        xmlwriter.writeEndElement();    //trkpt
     }
-    xmlwriter.writeEndElement();        //trkseg
-    xmlwriter.writeEndElement();        //trk
-    xmlwriter.writeEndElement();        //gpx
+    xmlwriter.writeEndElement();
     xmlwriter.writeEndDocument();
 }
 
-
 /**
   *@brief Opens and closes a file, when xml information is written into a file,
   *and passes file to writeXmlFile()
@@ -182,14 +148,12 @@ bool XmlWriter::writeXmlFile(QIODevice *device)
 {
     xmlwriter.setDevice(device);
     xmlwriter.writeStartDocument();
-    //writeItems();
-    serverWritesXml();
+    writeItems();
     xmlwriter.writeEndDocument();
 
     return true;
 }
 
-
 /**
   *@brief Writes Speed Freek results items as tags and contents to earlier defined target.
   *@todo Consider looping when writing many values.
@@ -203,27 +167,3 @@ void XmlWriter::writeItems()
     xmlwriter.writeAttribute("date", QDateTime::currentDateTime().toString());
     xmlwriter.writeEndElement();
 }
-
-
-/**
-  *@brief A temp function during development, used to create a "serverfile".
-  */
-void XmlWriter::serverWritesXml()
-{
-    //Write categories
-    xmlwriter.writeStartElement("categories");
-
-    xmlwriter.writeStartElement("category");
-    xmlwriter.writeCharacters("acceleration-0-10");
-    xmlwriter.writeEndElement();
-
-    xmlwriter.writeStartElement("category");
-    xmlwriter.writeCharacters("acceleration-0-40");
-    xmlwriter.writeEndElement();
-
-    xmlwriter.writeStartElement("category");
-    xmlwriter.writeCharacters("acceleration-0-100");
-    xmlwriter.writeEndElement();
-
-    xmlwriter.writeEndElement();
-}