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
qgeoareamonitorinfo.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
5#ifndef QGEOAREAMONITORINFO_H
6#define QGEOAREAMONITORINFO_H
7
8#include <QtPositioning/QGeoCoordinate>
9#include <QtPositioning/QGeoShape>
10#include <QtCore/QExplicitlySharedDataPointer>
11#include <QtCore/QMetaType>
12#include <QtCore/QVariantMap>
13
14QT_BEGIN_NAMESPACE
15
16class QDataStream;
17class QGeoAreaMonitorInfo;
18
19Q_POSITIONING_EXPORT size_t qHash(const QGeoAreaMonitorInfo &key, size_t seed = 0) noexcept;
20namespace QTest
21{
22Q_POSITIONING_EXPORT char *toString(const QGeoAreaMonitorInfo &info);
23} // namespace QTest
24
26QT_DECLARE_QESDP_SPECIALIZATION_DTOR_WITH_EXPORT(QGeoAreaMonitorInfoPrivate, Q_POSITIONING_EXPORT)
27
28class Q_POSITIONING_EXPORT QGeoAreaMonitorInfo
29{
30public:
31 explicit QGeoAreaMonitorInfo(const QString &name = QString());
32 QGeoAreaMonitorInfo(const QGeoAreaMonitorInfo &other);
33 QGeoAreaMonitorInfo(QGeoAreaMonitorInfo &&other) noexcept = default;
34 ~QGeoAreaMonitorInfo();
35
36 QGeoAreaMonitorInfo &operator=(const QGeoAreaMonitorInfo &other);
37 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QGeoAreaMonitorInfo)
38
39 void swap(QGeoAreaMonitorInfo &other) noexcept { d.swap(other.d); }
40
41 friend bool operator==(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)
42 {
43 return equals(lhs, rhs);
44 }
45 friend bool operator!=(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)
46 {
47 return !equals(lhs, rhs);
48 }
49
50 QString name() const;
51 void setName(const QString &name);
52
53 QString identifier() const;
54 bool isValid() const;
55
56 QGeoShape area() const;
57 void setArea(const QGeoShape &newShape);
58
59 QDateTime expiration() const;
60 void setExpiration(const QDateTime &expiry);
61
62 bool isPersistent() const;
63 void setPersistent(bool isPersistent);
64
65 QVariantMap notificationParameters() const;
66 void setNotificationParameters(const QVariantMap &parameters);
67
68 void detach();
69
70private:
71 static bool equals(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs);
72 QExplicitlySharedDataPointer<QGeoAreaMonitorInfoPrivate> d;
73 friend class QGeoAreaMonitorInfoPrivate;
74
75#ifndef QT_NO_DATASTREAM
76 friend QDataStream &operator<<(QDataStream &ds, const QGeoAreaMonitorInfo &monitor)
77 {
78 return dataStreamOut(ds, monitor);
79 }
80 friend QDataStream &operator>>(QDataStream &ds, QGeoAreaMonitorInfo &monitor)
81 {
82 return dataStreamIn(ds, monitor);
83 }
84 static QDataStream &dataStreamOut(QDataStream &ds, const QGeoAreaMonitorInfo &monitor);
85 static QDataStream &dataStreamIn(QDataStream &ds, QGeoAreaMonitorInfo &monitor);
86#endif
87 friend Q_POSITIONING_EXPORT size_t qHash(const QGeoAreaMonitorInfo &key, size_t seed) noexcept;
88 friend Q_POSITIONING_EXPORT char *QTest::toString(const QGeoAreaMonitorInfo& info);
89#ifndef QT_NO_DEBUG_STREAM
90 friend QDebug operator<<(QDebug dbg, const QGeoAreaMonitorInfo &monitor)
91 {
92 return debugStreaming(dbg, monitor);
93 }
94 static QDebug debugStreaming(QDebug dbg, const QGeoAreaMonitorInfo &monitor);
95#endif
96};
97
99
100QT_END_NAMESPACE
101
102QT_DECL_METATYPE_EXTERN(QGeoAreaMonitorInfo, Q_POSITIONING_EXPORT)
103
104#endif // QGEOAREAMONITORINFO_H
\inmodule QtPositioning