Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qnmeasatelliteinfosource.h
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4#ifndef QNMEASATELLITEINFOSOURCE_H
5#define QNMEASATELLITEINFOSOURCE_H
6
7#include <QtPositioning/QGeoSatelliteInfoSource>
8
9QT_BEGIN_NAMESPACE
10
11class QIODevice;
12
14class Q_POSITIONING_EXPORT QNmeaSatelliteInfoSource : public QGeoSatelliteInfoSource
15{
16 Q_OBJECT
17public:
18 enum class UpdateMode {
19 RealTimeMode = 1,
20 SimulationMode
21 };
22
23 static QString SimulationUpdateInterval;
24
25 explicit QNmeaSatelliteInfoSource(UpdateMode mode, QObject *parent = nullptr);
26 ~QNmeaSatelliteInfoSource() override;
27
28 UpdateMode updateMode() const;
29
30 void setDevice(QIODevice *source);
31 QIODevice *device() const;
32
33 void setUpdateInterval(int msec) override;
34 int minimumUpdateInterval() const override;
35 Error error() const override;
36
37 bool setBackendProperty(const QString &name, const QVariant &value) override;
38 QVariant backendProperty(const QString &name) const override;
39
40public Q_SLOTS:
41 void startUpdates() override;
42 void stopUpdates() override;
43 void requestUpdate(int timeout = 0) override;
44
45protected:
46#if QT_DEPRECATED_SINCE(7, 0)
47 QT6_ONLY(virtual)
48 QGeoSatelliteInfo::SatelliteSystem
49 parseSatellitesInUseFromNmea(const char *data, int size, QList<int> &pnrsInUse);
50#endif
51 QT7_ONLY(virtual)
52 QGeoSatelliteInfo::SatelliteSystem
53 parseSatellitesInUseFromNmea(QByteArrayView data, QList<int> &pnrsInUse);
54 enum SatelliteInfoParseStatus {
55 NotParsed = 0,
56 PartiallyParsed,
57 FullyParsed
58 };
59#if QT_DEPRECATED_SINCE(7, 0)
60 QT6_ONLY(virtual)
61 SatelliteInfoParseStatus parseSatelliteInfoFromNmea(const char *data, int size,
62 QList<QGeoSatelliteInfo> &infos,
63 QGeoSatelliteInfo::SatelliteSystem &system);
64#endif
65 QT7_ONLY(virtual)
66 SatelliteInfoParseStatus parseSatelliteInfoFromNmea(QByteArrayView data,
67 QList<QGeoSatelliteInfo> &infos,
68 QGeoSatelliteInfo::SatelliteSystem &system);
69
70 QNmeaSatelliteInfoSourcePrivate *d;
71 void setError(QGeoSatelliteInfoSource::Error satelliteError);
72
73 friend class QNmeaSatelliteInfoSourcePrivate;
74 Q_DISABLE_COPY(QNmeaSatelliteInfoSource)
75
76 // for using the SatelliteInfoParseStatus enum
77 friend class QLocationUtils;
78};
79
80QT_END_NAMESPACE
81
82#endif // QNMEASATELLITEINFOSOURCE_H