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
qgeoareamonitorsource.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#ifndef QGEOAREAMONITORSOURCE_H
4#define QGEOAREAMONITORSOURCE_H
5
6#include <QtPositioning/QGeoCoordinate>
7#include <QtPositioning/QGeoAreaMonitorInfo>
8#include <QtPositioning/QGeoPositionInfoSource>
9
10#include <QtCore/QObject>
11#include <QtCore/QStringList>
12
13QT_BEGIN_NAMESPACE
14
15class QGeoPositionInfo;
17class Q_POSITIONING_EXPORT QGeoAreaMonitorSource : public QObject
18{
19 Q_OBJECT
20
21public:
22 enum Error {
23 AccessError = 0,
24 InsufficientPositionInfo = 1,
25 UnknownSourceError = 2,
26 NoError = 3
27 };
28 Q_ENUMS(Error)
29
30 enum AreaMonitorFeature {
31 PersistentAreaMonitorFeature = 0x00000001,
32 AnyAreaMonitorFeature = 0xffffffff
33 };
34 Q_DECLARE_FLAGS(AreaMonitorFeatures, AreaMonitorFeature)
35
36 explicit QGeoAreaMonitorSource(QObject *parent);
37 virtual ~QGeoAreaMonitorSource();
38
39 static QGeoAreaMonitorSource *createDefaultSource(QObject *parent);
40 static QGeoAreaMonitorSource *createSource(const QString& sourceName, QObject *parent);
41 static QStringList availableSources();
42
43 virtual void setPositionInfoSource(QGeoPositionInfoSource *source);
44 virtual QGeoPositionInfoSource* positionInfoSource() const;
45
46 QString sourceName() const;
47
48 virtual Error error() const = 0;
49 virtual AreaMonitorFeatures supportedAreaMonitorFeatures() const = 0;
50
51 virtual bool startMonitoring(const QGeoAreaMonitorInfo &monitor) = 0;
52 virtual bool stopMonitoring(const QGeoAreaMonitorInfo &monitor) = 0;
53 virtual bool requestUpdate(const QGeoAreaMonitorInfo &monitor, const char *signal) = 0;
54
55 virtual QList<QGeoAreaMonitorInfo> activeMonitors() const = 0;
56 virtual QList<QGeoAreaMonitorInfo> activeMonitors(const QGeoShape &lookupArea) const = 0;
57
58 virtual bool setBackendProperty(const QString &name, const QVariant &value);
59 virtual QVariant backendProperty(const QString &name) const;
60
61Q_SIGNALS:
62 void areaEntered(const QGeoAreaMonitorInfo &monitor, const QGeoPositionInfo &update);
63 void areaExited(const QGeoAreaMonitorInfo &monitor, const QGeoPositionInfo &update);
64 void monitorExpired(const QGeoAreaMonitorInfo &monitor);
65 void errorOccurred(QGeoAreaMonitorSource::Error error);
66
67private:
68 Q_DISABLE_COPY(QGeoAreaMonitorSource)
69 Q_DECLARE_PRIVATE(QGeoAreaMonitorSource)
70};
71
72
73QT_END_NAMESPACE
74
75#endif
\inmodule QtPositioning