-#include <QtGui>
-#include <QNetworkRequest>
-#include <QIODevice>
-#include <QFile>
-#include <QMessageBox>
-#include <QDebug>
-#include <QDateTime>
-#include <QDate>
-#include <QTime>
-#include <QApplication>
+/*
+ * Xml writer
+ *
+ * @author Tiina Kivilinna-Korhola
+ * @copyright (c) 2010 Speed Freak team
+ * license http://opensource.org/licenses/gpl-license.php GNU Public License
+ */
+
#include "xmlwriter.h"
*/
XmlWriter::XmlWriter()
{
-
+ tmpvalue = 110;
}
/**
{
}
+
/**
*@brief Writes registration items into tags.
*@param netbuf a buffer where xmlstreamwriter writes to.
*@param email.
*/
void XmlWriter::writeRegistering(QBuffer *netbuf, QString usr, QString psswd, QString email)
-//void XmlWriter::writeRegistering(QIODevice *netbuf, QString usr, QString psswd, QString email)
{
+ qDebug() << "_writeRegistering";
+
xmlwriter.setDevice(netbuf);
xmlwriter.writeStartDocument();
*@todo Replace test value to finally used variables.
*/
void XmlWriter::writeResult(QBuffer *netbuf)
-//void XmlWriter::writeResult(QIODevice *netbuf)
{
+ qDebug() << "_writeResult";
+
xmlwriter.setDevice(netbuf);
xmlwriter.writeStartDocument();
xmlwriter.writeStartElement("result");
- xmlwriter.writeAttribute("value", QString::number(14));
- xmlwriter.writeAttribute("unit", "seconds");
- xmlwriter.writeAttribute("date", QDateTime::currentDateTime().toString());
+ tmpvalue++;
+ qDebug() << tmpvalue;
+ xmlwriter.writeAttribute("value", QString::number(tmpvalue));
+ 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();
}
*@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 = "xmlfile.xml";
+ QString filename = "xmlcategoryfile.xml";
QFile file(filename);
if (!file.open(QFile::WriteOnly | QFile::Text)) {
qDebug() << "_xmlWrite fail";
{
xmlwriter.setDevice(device);
xmlwriter.writeStartDocument();
- writeItems();
+ //writeItems();
+ serverWritesXml();
xmlwriter.writeEndDocument();
return true;
/**
*@brief A temp function during development, used to create a "serverfile".
*/
-void XmlWriter::serverWritesTop()
+void XmlWriter::serverWritesXml()
{
- int i = 0;
- int n = 5;
+ //Write categories
+ xmlwriter.writeStartElement("categories");
- /* Server sends to client */
- 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();
- }
+ 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();
}