mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-10-07 07:13:21 +02:00
37 lines
773 B
C
37 lines
773 B
C
|
#ifndef PARSER_H
|
||
|
#define PARSER_H
|
||
|
|
||
|
#include <QXmlStreamReader>
|
||
|
#include <QDateTime>
|
||
|
#include <QPointF>
|
||
|
|
||
|
struct TrackPoint
|
||
|
{
|
||
|
QPointF coordinates;
|
||
|
QDateTime timestamp;
|
||
|
qreal elevation;
|
||
|
};
|
||
|
|
||
|
class Parser
|
||
|
{
|
||
|
public:
|
||
|
bool loadFile(QIODevice *device, QVector<TrackPoint> &data);
|
||
|
QString errorString() const;
|
||
|
|
||
|
private:
|
||
|
bool parse(QVector<TrackPoint> &data);
|
||
|
void gpx(QVector<TrackPoint> &data);
|
||
|
void trek(QVector<TrackPoint> &data);
|
||
|
void trekPoints(QVector<TrackPoint> &data);
|
||
|
void trekPointData(QVector<TrackPoint> &data);
|
||
|
|
||
|
void handleTrekPointAttributes(QVector<TrackPoint> &data,
|
||
|
const QXmlStreamAttributes &attr);
|
||
|
void handleTrekPointData(QVector<TrackPoint> &data, QStringRef element,
|
||
|
const QString &value);
|
||
|
|
||
|
QXmlStreamReader _reader;
|
||
|
};
|
||
|
|
||
|
#endif // PARSER_H
|