summaryrefslogtreecommitdiff
path: root/src/positioning/qgeoareamonitorinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/positioning/qgeoareamonitorinfo.h')
-rw-r--r--src/positioning/qgeoareamonitorinfo.h27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/positioning/qgeoareamonitorinfo.h b/src/positioning/qgeoareamonitorinfo.h
index ae65d2c7..1374ebdf 100644
--- a/src/positioning/qgeoareamonitorinfo.h
+++ b/src/positioning/qgeoareamonitorinfo.h
@@ -42,7 +42,8 @@
#include <QtPositioning/QGeoCoordinate>
#include <QtPositioning/QGeoShape>
-#include <QtCore/QSharedDataPointer>
+#include <QtCore/QExplicitlySharedDataPointer>
+#include <QtCore/QMetaType>
#include <QtCore/QVariantMap>
QT_BEGIN_NAMESPACE
@@ -55,15 +56,27 @@ Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &, const QGeoAreaMonito
Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &, QGeoAreaMonitorInfo &);
#endif
+Q_POSITIONING_EXPORT size_t qHash(const QGeoAreaMonitorInfo &key, size_t seed = 0) noexcept;
+namespace QTest
+{
+Q_POSITIONING_EXPORT char *toString(const QGeoAreaMonitorInfo &info);
+} // namespace QTest
+
class QGeoAreaMonitorInfoPrivate;
+QT_DECLARE_QESDP_SPECIALIZATION_DTOR_WITH_EXPORT(QGeoAreaMonitorInfoPrivate, Q_POSITIONING_EXPORT)
+
class Q_POSITIONING_EXPORT QGeoAreaMonitorInfo
{
public:
explicit QGeoAreaMonitorInfo(const QString &name = QString());
QGeoAreaMonitorInfo(const QGeoAreaMonitorInfo &other);
+ QGeoAreaMonitorInfo(QGeoAreaMonitorInfo &&other) noexcept = default;
~QGeoAreaMonitorInfo();
QGeoAreaMonitorInfo &operator=(const QGeoAreaMonitorInfo &other);
+ QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QGeoAreaMonitorInfo)
+
+ void swap(QGeoAreaMonitorInfo &other) noexcept { d.swap(other.d); }
bool operator==(const QGeoAreaMonitorInfo &other) const;
bool operator!=(const QGeoAreaMonitorInfo &other) const;
@@ -85,19 +98,29 @@ public:
QVariantMap notificationParameters() const;
void setNotificationParameters(const QVariantMap &parameters);
+
+ void detach();
+
private:
- QSharedDataPointer<QGeoAreaMonitorInfoPrivate> d;
+ QExplicitlySharedDataPointer<QGeoAreaMonitorInfoPrivate> d;
+ friend class QGeoAreaMonitorInfoPrivate;
#ifndef QT_NO_DATASTREAM
friend Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &, const QGeoAreaMonitorInfo &);
friend Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &, QGeoAreaMonitorInfo &);
#endif
+ friend Q_POSITIONING_EXPORT size_t qHash(const QGeoAreaMonitorInfo &key, size_t seed) noexcept;
+ friend Q_POSITIONING_EXPORT char *QTest::toString(const QGeoAreaMonitorInfo& info);
};
+Q_DECLARE_SHARED(QGeoAreaMonitorInfo)
+
#ifndef QT_NO_DEBUG_STREAM
Q_POSITIONING_EXPORT QDebug operator<<(QDebug, const QGeoAreaMonitorInfo &);
#endif
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QGeoAreaMonitorInfo)
+
#endif // QGEOAREAMONITORINFO_H