3#ifndef QNMEAPOSITIONINFOSOURCE_P_H
4#define QNMEAPOSITIONINFOSOURCE_P_H
23#include <QtCore/qtimer.h>
24#include <QtCore/private/qglobal_p.h>
52 QGeoPositionInfo *posInfo,
72 void sourceDataClosed();
73 void updateRequestTimeout();
76 bool openSourceDevice();
78 void prepareSourceDevice();
79 void emitUpdated(
const QGeoPositionInfo &update);
81 QNmeaPositionInfoSource *m_source;
83 QGeoPositionInfo m_pendingUpdate;
85 QBasicTimer *m_updateTimer;
86 QTimer *m_requestTimer;
87 qreal m_horizontalAccuracy;
88 qreal m_verticalAccuracy;
89 bool m_noUpdateLastInterval;
90 bool m_updateTimeoutSent;
91 bool m_connectedReadyRead;
143 bool setFirstDateTime();
144 void processNextSentence();
146 QQueue<QPendingGeoPositionInfo> m_pendingUpdates;
147 QByteArray m_nextLine;
149 bool m_hasValidDateTime;
void notifyNewUpdate(QGeoPositionInfo *update, bool fixStatus)
~QNmeaPositionInfoSourcePrivate()
QGeoPositionInfo m_lastUpdate
bool parsePosInfoFromNmeaData(QByteArrayView data, QGeoPositionInfo *posInfo, bool *hasFix)
void requestUpdate(int msec)
double m_userEquivalentRangeError
QPointer< QIODevice > m_device
QGeoPositionInfoSource::Error m_positionError
void timerEvent(QTimerEvent *event) override
This event handler can be reimplemented in a subclass to receive timer events for the object.
QNmeaReader(QNmeaPositionInfoSourcePrivate *sourcePrivate)
QNmeaPositionInfoSourcePrivate * m_proxy
virtual void readAvailableData()=0
void readAvailableData() override
~QNmeaRealTimeReader() override
QNmeaRealTimeReader(QNmeaPositionInfoSourcePrivate *sourcePrivate)
QGeoPositionInfo m_update
void timerEvent(QTimerEvent *event) override
This event handler can be reimplemented in a subclass to receive timer events for the object.
void readAvailableData() override
#define USE_POSITION_NMEA_PIMPL
static bool propagateCoordinate(QGeoPositionInfo &dst, const QGeoPositionInfo &src, bool force=true)
static bool propagateAttributes(QGeoPositionInfo &dst, const QGeoPositionInfo &src, bool force=true)
static qint64 msecsTo(const QDateTime &from, const QDateTime &to)
static bool propagateDate(QGeoPositionInfo &dst, const QGeoPositionInfo &src)
static bool mergePositions(QGeoPositionInfo &dst, const QGeoPositionInfo &src, QByteArray nmeaSentence)