--- /dev/null
+#ifndef XMLPARSER_H
+#define XMLPARSER_H
+
+#include "routedata.h"
+
+#include <QList>
+#include <QByteArray>
+#include <QXmlStreamReader>
+
+class XmlParser
+{
+public:
+ XmlParser();
+
+ struct LocsData {
+ QString m_x;
+ QString m_y;
+ QString m_arrTime;
+ QString m_depTime;
+ QString m_name;
+ };
+
+ QPair<QString,QString> parseGeocode(const QByteArray &reply);
+ QList<RouteData> parseRouteData(const QByteArray &reply);
+
+ bool error() {
+ return m_error;
+ }
+
+private:
+ QList<XmlParser::LocsData> parseLocs(QXmlStreamReader &xml);
+ QList<LegData> parseLegs(QXmlStreamReader &xml);
+ QString parseJORECode(const QString &joreCode) const;
+ QString parseTime(const QString &time) const;
+ QString parseType(const QString &type) const;
+
+ bool m_error;
+};
+
+#endif // XMLPARSER_H