Changes: parses comprehensive route data
[ptas] / zouba / src / routedata.h
1 #ifndef ROUTEDATA_H
2 #define ROUTEDATA_H
3
4 #include <QString>
5 #include <QList>
6
7 struct LegData
8 {
9   LegData() :
10     m_how(),
11     m_tripTime(),
12     m_tripDistance(),
13     m_departureTime(),
14     m_arrivalTime(),
15     m_lineCode()
16   {
17   };
18
19   LegData( QString how, QString tripTime, QString tripDistance, QString departureTime, QString arrivalTime, QString lineCode=QString() ) :
20     m_how(how),
21     m_tripTime(tripTime),
22     m_tripDistance(tripDistance),
23     m_departureTime(departureTime),
24     m_arrivalTime(arrivalTime),
25     m_lineCode(lineCode)
26   {
27   };
28
29   void clear()
30   {
31     m_how = "";
32     m_tripTime = "";
33     m_tripDistance = "";
34     m_departureTime = "";
35     m_arrivalTime = "";
36     m_lineCode = "";
37   };
38
39   QString m_how;
40   QString m_tripTime;
41   QString m_tripDistance;
42   QString m_departureTime;
43   QString m_arrivalTime;
44   QString m_lineCode;
45
46 };
47
48 struct RouteData
49 {
50   RouteData():
51     m_tripTime(),
52     m_tripDistance(),
53     m_departureTime(),
54     m_lineCode(),
55     m_legData()
56   {
57   };
58
59   RouteData( QString tripTime, QString tripDistance, QString departureTime, QString lineCode ):
60     m_tripTime(tripTime),
61     m_tripDistance(tripDistance),
62     m_departureTime(departureTime),
63     m_lineCode(lineCode),
64     m_legData()
65   {
66   };
67
68   RouteData &operator <<(const LegData &legData)
69   {
70     m_legData.append( legData );
71     return *this;
72   };
73
74   void clear()
75   {
76     m_tripTime = "";
77     m_tripDistance = "";
78     m_departureTime = "";
79     m_lineCode = "";
80     m_legData.clear();
81   };
82
83   QString m_tripTime;
84   QString m_tripDistance;
85   QString m_departureTime;
86   QString m_lineCode;
87   QList<LegData> m_legData;
88
89 };
90
91 #endif // ROUTEDATA_H