* 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;
+
}
/**
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";
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()
{
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.
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();
-}