#ifndef GPSDATAPARSER_H #define GPSDATAPARSER_H #include #include #include class GPSDataParser : public QObject { Q_OBJECT public: explicit GPSDataParser(QObject *parent = nullptr); void parse(const QByteArray &nmeaData); signals: void dataParsed(const QString &gpsTime, double latitude, double longitude, double altitude); private: double convertToDecimalDegrees(double degreesMinutes, char direction); private: QString m_utcTime; double m_latitude; double m_longitude; double m_altitude; public: inline QString getUTCTime() const { return m_utcTime; } inline double getLatitude() const { return m_latitude; } inline double getLongitude() const { return m_longitude; } inline double getAltitude() const { return m_altitude; } }; #endif // GPSDATAPARSER_H