2016-11-10 00:08:11 +01:00
|
|
|
#ifndef IGCPARSER_H
|
|
|
|
#define IGCPARSER_H
|
|
|
|
|
|
|
|
#include <QDate>
|
|
|
|
#include <QTime>
|
|
|
|
#include "parser.h"
|
|
|
|
|
|
|
|
|
|
|
|
class IGCParser : public Parser
|
|
|
|
{
|
|
|
|
public:
|
2017-07-27 19:47:46 +02:00
|
|
|
IGCParser() : _errorLine(0) {}
|
2016-11-10 00:08:11 +01:00
|
|
|
|
2019-01-31 01:46:53 +01:00
|
|
|
bool parse(QFile *file, QList<TrackData> &tracks, QList<RouteData> &routes,
|
|
|
|
QList<Area> &polygons, QVector<Waypoint> &waypoints);
|
2016-11-10 00:08:11 +01:00
|
|
|
QString errorString() const {return _errorString;}
|
|
|
|
int errorLine() const {return _errorLine;}
|
|
|
|
|
|
|
|
private:
|
2016-11-16 23:54:15 +01:00
|
|
|
bool readHRecord(const char *line, int len);
|
2017-07-27 19:47:46 +02:00
|
|
|
bool readBRecord(TrackData &track, const char *line, int len);
|
|
|
|
bool readCRecord(RouteData &route, const char *line, int len);
|
2016-11-10 00:08:11 +01:00
|
|
|
|
|
|
|
int _errorLine;
|
|
|
|
QString _errorString;
|
|
|
|
|
|
|
|
QDate _date;
|
|
|
|
QTime _time;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // IGCPARSER_H
|