#ifndef TCXPARSER_H #define TCXPARSER_H #include #include #include "parser.h" class TCXParser : public Parser { public: TCXParser(QList > &tracks, QList > &routes, QList &waypoints) : Parser(tracks, routes, waypoints) {_track = 0; _route = 0;} ~TCXParser() {} bool loadFile(QIODevice *device); QString errorString() const {return _reader.errorString();} int errorLine() const {return _reader.lineNumber();} const char *name() const {return "TCX";} private: bool parse(); void tcx(); void courses(); void activities(); void course(); void activity(); void lap(); void trackpoints(); void routepoints(); void trackpointData(Trackpoint &t); void routepointData(Waypoint &w); void waypointData(Waypoint &w); Coordinates position(); QXmlStreamReader _reader; QVector *_track; QVector *_route; }; #endif // TCXPARSER_H