18 Q_PROPERTY(
int updateInterval READ updateInterval WRITE setUpdateInterval BINDABLE
19 bindableUpdateInterval)
20 Q_PROPERTY(
int minimumUpdateInterval READ minimumUpdateInterval)
21 Q_PROPERTY(QString sourceName READ sourceName)
22 Q_PROPERTY(PositioningMethods preferredPositioningMethods READ preferredPositioningMethods WRITE
23 setPreferredPositioningMethods BINDABLE bindablePreferredPositioningMethods)
29 UnknownSourceError = 2,
31 UpdateTimeoutError = 4
35 enum PositioningMethod {
36 NoPositioningMethods = 0x00000000,
37 SatellitePositioningMethods = 0x000000ff,
38 NonSatellitePositioningMethods = 0xffffff00,
39 AllPositioningMethods = 0xffffffff
41 Q_DECLARE_FLAGS(PositioningMethods, PositioningMethod)
43 explicit QGeoPositionInfoSource(QObject *parent);
44 virtual ~QGeoPositionInfoSource();
46 virtual void setUpdateInterval(
int msec);
47 int updateInterval()
const;
48 QBindable<
int> bindableUpdateInterval();
50 virtual void setPreferredPositioningMethods(PositioningMethods methods);
51 PositioningMethods preferredPositioningMethods()
const;
52 QBindable<PositioningMethods> bindablePreferredPositioningMethods();
54 virtual QGeoPositionInfo lastKnownPosition(
bool fromSatellitePositioningMethodsOnly =
false)
const = 0;
56 virtual PositioningMethods supportedPositioningMethods()
const = 0;
57 virtual int minimumUpdateInterval()
const = 0;
59 QString sourceName()
const;
61 virtual bool setBackendProperty(
const QString &name,
const QVariant &value);
62 virtual QVariant backendProperty(
const QString &name)
const;
64 static QGeoPositionInfoSource *createDefaultSource(QObject *parent);
65 static QGeoPositionInfoSource *createDefaultSource(
const QVariantMap ¶meters, QObject *parent);
66 static QGeoPositionInfoSource *createSource(
const QString &sourceName, QObject *parent);
67 static QGeoPositionInfoSource *createSource(
const QString &sourceName,
const QVariantMap ¶meters, QObject *parent);
68 static QStringList availableSources();
69 virtual Error error()
const = 0;
72 virtual void startUpdates() = 0;
73 virtual void stopUpdates() = 0;
75 virtual void requestUpdate(
int timeout = 0) = 0;
78 void positionUpdated(
const QGeoPositionInfo &update);
79 void errorOccurred(QGeoPositionInfoSource::Error);
80 void supportedPositioningMethodsChanged();
83 explicit QGeoPositionInfoSource(QGeoPositionInfoSourcePrivate &dd, QObject *parent);
86 Q_DISABLE_COPY(QGeoPositionInfoSource)
87 Q_DECLARE_PRIVATE(QGeoPositionInfoSource)