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
qgeopositioninfosource.h
Go to the documentation of this file.
1// Copyright (C) 2016 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
4#ifndef QGEOPOSITIONINFOSOURCE_H
5#define QGEOPOSITIONINFOSOURCE_H
6
7#include <QtPositioning/QGeoPositionInfo>
8
9#include <QtCore/QObject>
10
12
14class Q_POSITIONING_EXPORT QGeoPositionInfoSource : public QObject
15{
17 Q_PROPERTY(int updateInterval READ updateInterval WRITE setUpdateInterval BINDABLE
18 bindableUpdateInterval)
19 Q_PROPERTY(int minimumUpdateInterval READ minimumUpdateInterval)
20 Q_PROPERTY(QString sourceName READ sourceName)
21 Q_PROPERTY(PositioningMethods preferredPositioningMethods READ preferredPositioningMethods WRITE
22 setPreferredPositioningMethods BINDABLE bindablePreferredPositioningMethods)
23
24public:
25 enum Error {
26 AccessError = 0,
27 ClosedError = 1,
28 UnknownSourceError = 2,
30 UpdateTimeoutError = 4
31 };
33
35 NoPositioningMethods = 0x00000000,
36 SatellitePositioningMethods = 0x000000ff,
37 NonSatellitePositioningMethods = 0xffffff00,
38 AllPositioningMethods = 0xffffffff
39 };
40 Q_DECLARE_FLAGS(PositioningMethods, PositioningMethod)
41
42 explicit QGeoPositionInfoSource(QObject *parent);
44
45 virtual void setUpdateInterval(int msec);
46 int updateInterval() const;
47 QBindable<int> bindableUpdateInterval();
48
49 virtual void setPreferredPositioningMethods(PositioningMethods methods);
50 PositioningMethods preferredPositioningMethods() const;
51 QBindable<PositioningMethods> bindablePreferredPositioningMethods();
52
53 virtual QGeoPositionInfo lastKnownPosition(bool fromSatellitePositioningMethodsOnly = false) const = 0;
54
55 virtual PositioningMethods supportedPositioningMethods() const = 0;
56 virtual int minimumUpdateInterval() const = 0;
57
58 QString sourceName() const;
59
60 virtual bool setBackendProperty(const QString &name, const QVariant &value);
61 virtual QVariant backendProperty(const QString &name) const;
62
63 static QGeoPositionInfoSource *createDefaultSource(QObject *parent);
64 static QGeoPositionInfoSource *createDefaultSource(const QVariantMap &parameters, QObject *parent);
65 static QGeoPositionInfoSource *createSource(const QString &sourceName, QObject *parent);
66 static QGeoPositionInfoSource *createSource(const QString &sourceName, const QVariantMap &parameters, QObject *parent);
67 static QStringList availableSources();
68 virtual Error error() const = 0;
69
70public Q_SLOTS:
71 virtual void startUpdates() = 0;
72 virtual void stopUpdates() = 0;
73
74 virtual void requestUpdate(int timeout = 0) = 0;
75
77 void positionUpdated(const QGeoPositionInfo &update);
80
81protected:
83
84private:
85 Q_DISABLE_COPY(QGeoPositionInfoSource)
86 Q_DECLARE_PRIVATE(QGeoPositionInfoSource)
87};
88
89Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoPositionInfoSource::PositioningMethods)
90
92
93#endif
static JNINativeMethod methods[]
\inmodule QtPositioning
virtual void requestUpdate(int timeout=0)=0
Attempts to get the current position and emit positionUpdated() with this information.
virtual void stopUpdates()=0
Stops emitting updates at regular intervals.
void positionUpdated(const QGeoPositionInfo &update)
If startUpdates() or requestUpdate() is called, this signal is emitted when an update becomes availab...
PositioningMethod
Defines the types of positioning methods.
virtual PositioningMethods supportedPositioningMethods() const =0
Returns the positioning methods available to this source.
virtual int minimumUpdateInterval() const =0
virtual void startUpdates()=0
Starts emitting updates at regular intervals as specified by setUpdateInterval().
void errorOccurred(QGeoPositionInfoSource::Error)
This signal is emitted after an error occurred.
virtual Error error() const =0
Returns the type of error that last occurred.
virtual QGeoPositionInfo lastKnownPosition(bool fromSatellitePositioningMethodsOnly=false) const =0
Returns an update containing the last known position, or a null update if none is available.
void supportedPositioningMethodsChanged()
This signal is emitted when the supported positioning methods changed.
Error
The Error enumeration represents the errors which can occur.
\inmodule QtPositioning
\inmodule QtCore
Definition qobject.h:103
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qvariant.h:65
Combined button and popup list for selecting options.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
#define Q_DECLARE_FLAGS(Flags, Enum)
Definition qflags.h:174
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
Definition qflags.h:194
GLbitfield GLuint64 timeout
[4]
GLuint name
@ NoError
Definition main.cpp:34
#define Q_ENUM(x)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_SLOTS
#define Q_SIGNALS