Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qnmeapositioninfosource.cpp File Reference

(cba47a7ecd6cc495e4c306d71355447b68738e9c)

#include "qnmeapositioninfosource_p.h"
#include "qgeopositioninfo_p.h"
#include "qlocationutils_p.h"
#include <QIODevice>
#include <QBasicTimer>
#include <QTimerEvent>
#include <QTimer>
#include <array>
#include <QDebug>
#include <QtCore/QtNumeric>
#include <QtCore/QDateTime>
#include <QtCore/QTimeZone>
#include <algorithm>
#include "moc_qnmeapositioninfosource_p.cpp"
#include "moc_qnmeapositioninfosource.cpp"
+ Include dependency graph for qnmeapositioninfosource.cpp:

Go to the source code of this file.

Macros

#define USE_POSITION_NMEA_PIMPL   0
 

Typedefs

typedef QGeoPositionInfoPrivate QGeoPositionInfoPrivateNmea
 

Functions

static bool propagateCoordinate (QGeoPositionInfo &dst, const QGeoPositionInfo &src, bool force=true)
 
static bool propagateDate (QGeoPositionInfo &dst, const QGeoPositionInfo &src)
 
static bool propagateAttributes (QGeoPositionInfo &dst, const QGeoPositionInfo &src, bool force=true)
 
static bool mergePositions (QGeoPositionInfo &dst, const QGeoPositionInfo &src, QByteArray nmeaSentence)
 
static qint64 msecsTo (const QDateTime &from, const QDateTime &to)
 
static int processSentence (QGeoPositionInfo &info, QByteArray &m_nextLine, QNmeaPositionInfoSourcePrivate *m_proxy, QQueue< QPendingGeoPositionInfo > &m_pendingUpdates, bool &hasFix)
 

Macro Definition Documentation

◆ USE_POSITION_NMEA_PIMPL

#define USE_POSITION_NMEA_PIMPL   0

Definition at line 22 of file qnmeapositioninfosource.cpp.

Typedef Documentation

◆ QGeoPositionInfoPrivateNmea

Function Documentation

◆ mergePositions()

static bool mergePositions ( QGeoPositionInfo & dst,
const QGeoPositionInfo & src,
QByteArray nmeaSentence )
static

Definition at line 97 of file qnmeapositioninfosource.cpp.

References QGeoPositionInfoPrivate::get(), propagateAttributes(), propagateCoordinate(), propagateDate(), and Q_UNUSED.

Referenced by processSentence(), and QNmeaRealTimeReader::readAvailableData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ msecsTo()

static qint64 msecsTo ( const QDateTime & from,
const QDateTime & to )
static

Definition at line 114 of file qnmeapositioninfosource.cpp.

References QDateTime::date(), QDate::isValid(), QTime::isValid(), QDateTime::msecsTo(), QTime::msecsTo(), and QDateTime::time().

Referenced by processSentence().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processSentence()

static int processSentence ( QGeoPositionInfo & info,
QByteArray & m_nextLine,
QNmeaPositionInfoSourcePrivate * m_proxy,
QQueue< QPendingGeoPositionInfo > & m_pendingUpdates,
bool & hasFix )
static

Definition at line 297 of file qnmeapositioninfosource.cpp.

References QIODevice::bytesAvailable(), QByteArray::clear(), info, QByteArray::isEmpty(), QNmeaPositionInfoSourcePrivate::m_device, mergePositions(), msecsTo(), QNmeaPositionInfoSourcePrivate::parsePosInfoFromNmeaData(), pos, QByteArray(), QIODevice::readLine(), and QByteArray::size().

+ Here is the call graph for this function:

◆ propagateAttributes()

static bool propagateAttributes ( QGeoPositionInfo & dst,
const QGeoPositionInfo & src,
bool force = true )
static

Definition at line 75 of file qnmeapositioninfosource.cpp.

References attrs, QGeoPositionInfo::Direction, QGeoPositionInfo::GroundSpeed, QGeoPositionInfo::HorizontalAccuracy, QGeoPositionInfo::MagneticVariation, Q_DECL_CONSTEXPR, QGeoPositionInfo::VerticalAccuracy, and QGeoPositionInfo::VerticalSpeed.

Referenced by mergePositions(), and QNmeaRealTimeReader::readAvailableData().

+ Here is the caller graph for this function:

◆ propagateCoordinate()

static bool propagateCoordinate ( QGeoPositionInfo & dst,
const QGeoPositionInfo & src,
bool force = true )
static

Definition at line 42 of file qnmeapositioninfosource.cpp.

References qIsFinite(), and QGeoCoordinate::setLatitude().

Referenced by mergePositions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ propagateDate()

static bool propagateDate ( QGeoPositionInfo & dst,
const QGeoPositionInfo & src )
static

Definition at line 66 of file qnmeapositioninfosource.cpp.

Referenced by mergePositions().

+ Here is the caller graph for this function: