#ifndef DATA_H #define DATA_H #include #include #include #include #include #include #include "waypoint.h" #include "track.h" #include "route.h" #include "parser.h" class Data : public QObject { Q_OBJECT public: Data(QObject *parent = 0) : QObject(parent), _errorLine(0) {} ~Data(); bool loadFile(const QString &fileName); const QString &errorString() const {return _errorString;} int errorLine() const {return _errorLine;} const QList &tracks() const {return _tracks;} const QList &routes() const {return _routes;} const QList &waypoints() const {return _waypoints;} static QString formats(); static QStringList filter(); static void useDEMElevation(bool use); private: void processData(); QString _errorString; int _errorLine; QList _tracks; QList _routes; QList _waypoints; QList _trackData; QList _routeData; static QHash _parsers; static bool _useDEMElevation; }; #endif // DATA_H