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)
28 UnknownSourceError = 2,
30 UpdateTimeoutError = 4
34 enum PositioningMethod {
35 NoPositioningMethods = 0x00000000,
36 SatellitePositioningMethods = 0x000000ff,
37 NonSatellitePositioningMethods = 0xffffff00,
38 AllPositioningMethods = 0xffffffff
40 Q_DECLARE_FLAGS(PositioningMethods, PositioningMethod)
42 explicit QGeoPositionInfoSource(QObject *parent);
43 virtual ~QGeoPositionInfoSource();
45 virtual void setUpdateInterval(
int msec);
46 int updateInterval()
const;
47 QBindable<
int> bindableUpdateInterval();
49 virtual void setPreferredPositioningMethods(PositioningMethods methods);
50 PositioningMethods preferredPositioningMethods()
const;
51 QBindable<PositioningMethods> bindablePreferredPositioningMethods();
53 virtual QGeoPositionInfo lastKnownPosition(
bool fromSatellitePositioningMethodsOnly =
false)
const = 0;
55 virtual PositioningMethods supportedPositioningMethods()
const = 0;
56 virtual int minimumUpdateInterval()
const = 0;
58 QString sourceName()
const;
60 virtual bool setBackendProperty(
const QString &name,
const QVariant &value);
61 virtual QVariant backendProperty(
const QString &name)
const;
63 static QGeoPositionInfoSource *createDefaultSource(QObject *parent);
64 static QGeoPositionInfoSource *createDefaultSource(
const QVariantMap ¶meters, QObject *parent);
65 static QGeoPositionInfoSource *createSource(
const QString &sourceName, QObject *parent);
66 static QGeoPositionInfoSource *createSource(
const QString &sourceName,
const QVariantMap ¶meters, QObject *parent);
67 static QStringList availableSources();
68 virtual Error error()
const = 0;
71 virtual void startUpdates() = 0;
72 virtual void stopUpdates() = 0;
74 virtual void requestUpdate(
int timeout = 0) = 0;
77 void positionUpdated(
const QGeoPositionInfo &update);
78 void errorOccurred(QGeoPositionInfoSource::Error);
79 void supportedPositioningMethodsChanged();
82 explicit QGeoPositionInfoSource(QGeoPositionInfoSourcePrivate &dd, QObject *parent);
85 Q_DISABLE_COPY(QGeoPositionInfoSource)
86 Q_DECLARE_PRIVATE(QGeoPositionInfoSource)