25 InsufficientPositionInfo = 1,
26 UnknownSourceError = 2,
31 enum AreaMonitorFeature {
32 PersistentAreaMonitorFeature = 0x00000001,
33 AnyAreaMonitorFeature = 0xffffffff
35 Q_DECLARE_FLAGS(AreaMonitorFeatures, AreaMonitorFeature)
37 explicit QGeoAreaMonitorSource(QObject *parent);
38 virtual ~QGeoAreaMonitorSource();
40 static QGeoAreaMonitorSource *createDefaultSource(QObject *parent);
41 static QGeoAreaMonitorSource *createSource(
const QString& sourceName, QObject *parent);
42 static QStringList availableSources();
44 virtual void setPositionInfoSource(QGeoPositionInfoSource *source);
45 virtual QGeoPositionInfoSource* positionInfoSource()
const;
47 QString sourceName()
const;
49 virtual Error error()
const = 0;
50 virtual AreaMonitorFeatures supportedAreaMonitorFeatures()
const = 0;
52 virtual bool startMonitoring(
const QGeoAreaMonitorInfo &monitor) = 0;
53 virtual bool stopMonitoring(
const QGeoAreaMonitorInfo &monitor) = 0;
54 virtual bool requestUpdate(
const QGeoAreaMonitorInfo &monitor,
const char *signal) = 0;
56 virtual QList<QGeoAreaMonitorInfo> activeMonitors()
const = 0;
57 virtual QList<QGeoAreaMonitorInfo> activeMonitors(
const QGeoShape &lookupArea)
const = 0;
59 virtual bool setBackendProperty(
const QString &name,
const QVariant &value);
60 virtual QVariant backendProperty(
const QString &name)
const;
63 void areaEntered(
const QGeoAreaMonitorInfo &monitor,
const QGeoPositionInfo &update);
64 void areaExited(
const QGeoAreaMonitorInfo &monitor,
const QGeoPositionInfo &update);
65 void monitorExpired(
const QGeoAreaMonitorInfo &monitor);
66 void errorOccurred(QGeoAreaMonitorSource::Error error);
69 Q_DISABLE_COPY(QGeoAreaMonitorSource)
70 Q_DECLARE_PRIVATE(QGeoAreaMonitorSource)