Incorporated changes from bus project.
[ptas] / src / xmlparser.h
1 #ifndef XMLPARSER_H
2 #define XMLPARSER_H
3
4 #include "routedata.h"
5
6 #include <QList>
7 #include <QByteArray>
8 #include <QXmlStreamReader>
9
10 class XmlParser
11 {
12 public:
13     XmlParser();
14
15     struct LocsData {
16         QString m_x;
17         QString m_y;
18         QString m_arrTime;
19         QString m_depTime;
20         QString m_name;
21     };
22
23     QPair<QString,QString> parseGeocode(const QByteArray &reply);
24     QList<RouteData> parseRouteData(const QByteArray &reply);
25
26     bool error() {
27         return m_error;
28     }
29
30 private:
31     QList<XmlParser::LocsData> parseLocs(QXmlStreamReader &xml);
32     QList<LegData> parseLegs(QXmlStreamReader &xml);
33     QString parseJORECode(const QString &joreCode) const;
34     QString parseTime(const QString &time) const;
35     QString parseType(const QString &type) const;
36
37     bool m_error;
38 };
39
40 #endif // XMLPARSER_H