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