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