4 * @author Tiina Kivilinna-Korhola
5 * @copyright (c) 2010 Speed Freak team
6 * license http://opensource.org/licenses/gpl-license.php GNU Public License
14 *@brief Constructor, connects object to GUI
15 *@param Pointer to carmainwindow, which is temporarily used during development
17 XmlWriter::XmlWriter()
25 XmlWriter::~XmlWriter()
31 *@brief Writes registration items into tags.
32 *@param netbuf a buffer where xmlstreamwriter writes to.
33 *@param usr for user name.
34 *@param psswd for password.
37 void XmlWriter::writeRegistering(QBuffer *netbuf, QString usr, QString psswd, QString email)
39 qDebug() << "_writeRegistering";
41 xmlwriter.setDevice(netbuf);
43 xmlwriter.writeStartDocument();
44 xmlwriter.writeStartElement("user");
46 xmlwriter.writeStartElement("login");
47 xmlwriter.writeCharacters(usr);
48 xmlwriter.writeEndElement();
50 xmlwriter.writeStartElement("password");
51 xmlwriter.writeCharacters(psswd);
52 xmlwriter.writeEndElement();
54 xmlwriter.writeStartElement("email");
55 xmlwriter.writeCharacters(email);
56 xmlwriter.writeEndElement();
58 xmlwriter.writeEndElement();
59 xmlwriter.writeEndDocument();
64 *@brief Writes Speed Freek results items as tags and contents into a buffer.
65 *@todo Consider looping when writing many values.
66 *@todo Replace test value to finally used variables.
68 void XmlWriter::writeResult(QBuffer *netbuf)
70 qDebug() << "_writeResult";
72 xmlwriter.setDevice(netbuf);
74 xmlwriter.writeStartDocument();
75 xmlwriter.writeStartElement("result");
78 xmlwriter.writeAttribute("value", QString::number(tmpvalue));
79 xmlwriter.writeAttribute("unit", "seconds");
80 xmlwriter.writeAttribute("date", QDateTime::currentDateTime().toString());
81 xmlwriter.writeEndElement();
82 xmlwriter.writeEndDocument();
87 *@brief Opens and closes a file, when xml information is written into a file,
88 *and passes file to writeXmlFile()
89 *@param usr for user name.
90 *@param psswd for password.
92 *@todo Replace hardcoced filename to finally GUI entry widget.
94 //void XmlWriter::writeXml(QString usr, QString psswd, QString email)
95 void XmlWriter::writeXml()
97 QString filename = "xmlcategoryfile.xml";
99 if (!file.open(QFile::WriteOnly | QFile::Text)) {
100 qDebug() << "_xmlWrite fail";
105 //writeRegistering(&file, usr, psswd, email);
106 //writeResult(&file);
111 *@brief Writes general xml information.
112 *Calls other functions to insert login and result information.
113 *@param device: target of writing, here filename.
114 *@param usr for user name.
115 *@param psswd for password.
118 bool XmlWriter::writeXmlFile(QIODevice *device)
120 xmlwriter.setDevice(device);
121 xmlwriter.writeStartDocument();
124 xmlwriter.writeEndDocument();
131 *@brief Writes Speed Freek results items as tags and contents to earlier defined target.
132 *@todo Consider looping when writing many values.
133 *@todo Replace testing values to finally used variabls.
135 void XmlWriter::writeItems()
137 xmlwriter.writeStartElement("result");
138 xmlwriter.writeAttribute("value", QString::number(14)); //tmp testing value
139 xmlwriter.writeAttribute("unit", "seconds");
140 xmlwriter.writeAttribute("date", QDateTime::currentDateTime().toString());
141 xmlwriter.writeEndElement();
146 *@brief A temp function during development, used to create a "serverfile".
148 void XmlWriter::serverWritesXml()
150 /* Server sends to client */
155 //Write top 10 Results
156 xmlwriter.writeStartElement("results");
157 xmlwriter.writeAttribute("category", "acceleration-0-40");
158 xmlwriter.writeAttribute("unit", "seconds");
159 xmlwriter.writeAttribute("description", "Acceleration from 0 to 100 km/h");
161 for (i = 0; i < n; i++) {
162 xmlwriter.writeStartElement("result");
163 xmlwriter.writeAttribute("position", QString::number(i));
164 xmlwriter.writeAttribute("user", "test123");
165 xmlwriter.writeAttribute("date", QDateTime::currentDateTime().toString());
166 xmlwriter.writeAttribute("value", QString::number(i+i+1));
167 xmlwriter.writeEndElement();
171 xmlwriter.writeStartElement("categories");
173 xmlwriter.writeStartElement("category");
174 xmlwriter.writeCharacters("acceleration-0-10");
175 xmlwriter.writeEndElement();
177 xmlwriter.writeStartElement("category");
178 xmlwriter.writeCharacters("acceleration-0-60");
179 xmlwriter.writeEndElement();
181 xmlwriter.writeStartElement("category");
182 xmlwriter.writeCharacters("acceleration-0-100");
183 xmlwriter.writeEndElement();
185 xmlwriter.writeEndElement();