summaryrefslogtreecommitdiff
path: root/src/positioning/qgeoareamonitorinfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/positioning/qgeoareamonitorinfo.cpp')
-rw-r--r--src/positioning/qgeoareamonitorinfo.cpp440
1 files changed, 0 insertions, 440 deletions
diff --git a/src/positioning/qgeoareamonitorinfo.cpp b/src/positioning/qgeoareamonitorinfo.cpp
deleted file mode 100644
index ae9548f0..00000000
--- a/src/positioning/qgeoareamonitorinfo.cpp
+++ /dev/null
@@ -1,440 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtPositioning module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QGeoAreaMonitorInfo>
-#include <QDateTime>
-#include <QSharedData>
-#include <QUuid>
-#include <QDataStream>
-
-#ifndef QT_NO_DEBUG_STREAM
-#include <QDebug>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QGeoAreaMonitorInfo
- \inmodule QtPositioning
- \since 5.2
- \ingroup QtPositioning-positioning
- \ingroup shared
-
- \brief The QGeoAreaMonitorInfo class describes the parameters of an area or region
- to be monitored for proximity.
-
- The purpose of area monitoring is to inform a user when he/she comes close to an area of
- interest. In general such an area is described by a \l QGeoCircle. The circle's center
- represents the place of interest and the area around it identifies the geographical region
- within which notifications are sent.
-
- A QGeoAreaMonitorInfo object is valid if it has a non-empty name and a valid \l area().
- Such objects must be registered with a \l QGeoAreaMonitorSource to start and stop the
- monitoring process. Note that extensive monitoring can be very resource consuming
- because the positioning engine must remain active and has to match the current position
- with each QGeoAreaMonitorInfo instance.
-
- To further reduce the burden on the system there are optional attributes which can
- set. Each monitored area can have an expiry date which automatically removes the
- to-be-monitored area from the monitoring source once the expiry date has been reached.
- Another option is to adjust the persistence of a monitored area. A QGeoAreaMonitorInfo
- that \l isPersistent() will remain active beyond
- the current applications lifetime. If an area is entered while the monitoring
- application is not running the application will be started. Note that this feature is
- not available on all platforms. Its availability can be checked via
- \l QGeoAreaMonitorSource::supportedAreaMonitorFeatures().
-
- \sa QGeoAreaMonitorSource
-
- */
-
-class QGeoAreaMonitorInfoPrivate : public QSharedData
-{
-public:
- QGeoAreaMonitorInfoPrivate() : QSharedData(), persistent(false) {}
- QGeoAreaMonitorInfoPrivate(const QGeoAreaMonitorInfoPrivate &other)
- : QSharedData(other)
- {
- uid = other.uid;
- name = other.name;
- shape = other.shape;
- persistent = other.persistent;
- notificationParameters = other.notificationParameters;
- expiry = other.expiry;
- }
- ~QGeoAreaMonitorInfoPrivate() {}
-
- QUuid uid;
- QString name;
- QGeoShape shape;
- bool persistent;
- QVariantMap notificationParameters;
- QDateTime expiry;
-};
-
-/*!
- Constructs a QGeoAreaMonitorInfo object with the specified \a name.
-
- \sa name()
- */
-QGeoAreaMonitorInfo::QGeoAreaMonitorInfo(const QString &name)
-{
- d = new QGeoAreaMonitorInfoPrivate;
- d->name = name;
- d->uid = QUuid::createUuid();
-}
-
-/*!
- Constructs a QGeoAreaMonitorInfo object as a copy of \a other.
- */
-QGeoAreaMonitorInfo::QGeoAreaMonitorInfo(const QGeoAreaMonitorInfo &other)
- : d(other.d)
-{
-}
-
-/*!
- \fn QGeoAreaMonitorInfo::QGeoAreaMonitorInfo(QGeoAreaMonitorInfo &&other) noexcept
- \since 6.2
-
- Constructs a QGeoAreaMonitorInfo object by moving from \a other.
-
- Note that a moved-from QGeoAreaMonitorInfo can only be destroyed or
- assigned to. The effect of calling other functions than the destructor
- or one of the assignment operators is undefined.
-*/
-
-/*!
- Destructor
- */
-QGeoAreaMonitorInfo::~QGeoAreaMonitorInfo()
-{
-}
-
-QT_DEFINE_QESDP_SPECIALIZATION_DTOR(QGeoAreaMonitorInfoPrivate)
-
-/*!
- Assigns \a other to this QGeoAreaMonitorInfo object and returns a reference
- to this QGeoAreaMonitorInfo object.
- */
-QGeoAreaMonitorInfo &QGeoAreaMonitorInfo::operator=(const QGeoAreaMonitorInfo &other)
-{
- d = other.d;
- return *this;
-}
-
-/*!
- \fn QGeoAreaMonitorInfo &QGeoAreaMonitorInfo::operator=(QGeoAreaMonitorInfo &&other) noexcept
- \since 6.2
-
- Move-assigns \a other to this QGeoAreaMonitorInfo object and returns a
- reference to this QGeoAreaMonitorInfo object.
-
- Note that a moved-from QGeoAreaMonitorInfo can only be destroyed or
- assigned to. The effect of calling other functions than the destructor
- or one of the assignment operators is undefined.
-*/
-
-/*!
- \fn bool QGeoAreaMonitorInfo::operator==(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)
-
- Returns \c true if all of the \a lhs object's values are the same as those
- of \a rhs object. Otherwise returns \c false.
-*/
-
-/*!
- \fn bool QGeoAreaMonitorInfo::operator!=(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)
-
- Returns \c true if any of the \a lhs object's values are not the same as
- those of \a rhs object. Otherwise returns \c false.
-*/
-
-/*!
- Returns the name of the QGeoAreaMonitorInfo object. The name should be used
- for user-visibility purposes.
- */
-QString QGeoAreaMonitorInfo::name() const
-{
- return d->name;
-}
-
-/*!
- Sets the user visibile \a name.
- */
-void QGeoAreaMonitorInfo::setName(const QString &name)
-{
- if (d->name != name) {
- d.detach();
- d->name = name;
- }
-}
-
-/*!
- Returns the identifier of the QGeoAreaMonitorInfo object.
- The identifier is automatically generated upon construction of a new
- QGeoAreaMonitorInfo object.
-*/
-
-QString QGeoAreaMonitorInfo::identifier() const
-{
- return d->uid.toString();
-}
-
-/*!
- Returns true, if the monitor is valid. A valid QGeoAreaMonitorInfo has a non-empty name()
- and the monitored area is not \l {QGeoShape::isEmpty()}{empty()}.
- Otherwise this function returns false.
- */
-bool QGeoAreaMonitorInfo::isValid() const
-{
- return (!d->name.isEmpty() && !d->shape.isEmpty());
-}
-
-/*!
- Returns the boundaries of the to-be-monitored area. This area must not be empty.
-
- \sa setArea()
- */
-QGeoShape QGeoAreaMonitorInfo::area() const
-{
- return d->shape;
-}
-
-/*!
- Sets the to-be-monitored area to \a newShape.
-
- \sa area()
- */
-void QGeoAreaMonitorInfo::setArea(const QGeoShape &newShape)
-{
- d.detach();
- d->shape = newShape;
-}
-
-/*!
- Returns the expiry date.
-
- After an active QGeoAreaMonitorInfo has expired the region is no longer monitored
- and the QGeoAreaMonitorInfo object is removed from the list of
- \l {QGeoAreaMonitorSource::activeMonitors()}{active monitors}.
-
- If the expiry \l QDateTime is invalid the QGeoAreaMonitorInfo object is treated as not having
- an expiry date. This implies an indefinite monitoring period if the object is persistent or
- until the current application closes if the object is non-persistent.
-
- \sa QGeoAreaMonitorSource::activeMonitors()
- */
-QDateTime QGeoAreaMonitorInfo::expiration() const
-{
- return d->expiry;
-}
-
-/*!
- Sets the expiry date and time to \a expiry.
- */
-void QGeoAreaMonitorInfo::setExpiration(const QDateTime &expiry)
-{
- d.detach();
- d->expiry = expiry;
-}
-
-/*!
- Returns true if the QGeoAreaMonitorInfo is persistent.
- The default value for this property is false.
-
- A non-persistent QGeoAreaMonitorInfo will be removed by the system once
- the application owning the monitor object stops. Persistent objects remain
- active and can be retrieved once the application restarts.
-
- If the system triggers an event associated to a persistent QGeoAreaMonitorInfo
- the relevant application will be re-started and the appropriate signal emitted.
-
- \sa setPersistent()
- */
-bool QGeoAreaMonitorInfo::isPersistent() const
-{
- return d->persistent;
-}
-
-/*!
- Sets the QGeoAreaMonitorInfo object's persistence to \a isPersistent.
-
- Note that setting this flag does not imply that \l QGeoAreaMonitorSource
- supports persistent monitoring.
- \l QGeoAreaMonitorSource::supportedAreaMonitorFeatures() can be used to
- check for this feature's availability.
-
- \sa isPersistent()
- */
-void QGeoAreaMonitorInfo::setPersistent(bool isPersistent)
-{
- d.detach();
- d->persistent = isPersistent;
-}
-
-
-/*!
- Returns the set of platform specific parameters used by this
- QGeoAreaMonitorInfo.
-
- \sa setNotificationParameters()
- */
-QVariantMap QGeoAreaMonitorInfo::notificationParameters() const
-{
- return d->notificationParameters;
-}
-
-/*!
- Sets the set of platform specific \a parameters used by QGeoAreaMonitorInfo.
-
- \sa notificationParameters()
- */
-void QGeoAreaMonitorInfo::setNotificationParameters(const QVariantMap &parameters)
-{
- d.detach();
- d->notificationParameters = parameters;
-}
-
-/*!
- \internal
-*/
-void QGeoAreaMonitorInfo::detach()
-{
- if (d)
- d.detach();
- else
- d = new QGeoAreaMonitorInfoPrivate;
-}
-
-bool QGeoAreaMonitorInfo::equals(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)
-{
- return (lhs.d->name == rhs.d->name &&
- lhs.d->uid == rhs.d->uid &&
- lhs.d->shape == rhs.d->shape &&
- lhs.d->persistent == rhs.d->persistent &&
- lhs.d->expiry == rhs.d->expiry &&
- lhs.d->notificationParameters == rhs.d->notificationParameters);
-}
-
-#ifndef QT_NO_DATASTREAM
-
-/*!
- \fn QDataStream &QGeoAreaMonitorInfo::operator<<(QDataStream &stream, const QGeoAreaMonitorInfo &monitor)
-
- Writes the given \a monitor to the specified \a stream.
-
- \sa {Serializing Qt Data Types}
-*/
-QDataStream &QGeoAreaMonitorInfo::dataStreamOut(QDataStream &ds, const QGeoAreaMonitorInfo &monitor)
-{
- ds << monitor.name() << monitor.d->uid << monitor.area()
- << monitor.isPersistent() << monitor.notificationParameters() << monitor.expiration();
- return ds;
-}
-
-/*!
- \fn QDataStream &QGeoAreaMonitorInfo::operator>>(QDataStream &stream, QGeoAreaMonitorInfo &monitor)
-
- Reads a area monitoring data from the specified \a stream into the given
- \a monitor.
-
- \sa {Serializing Qt Data Types}
-*/
-QDataStream &QGeoAreaMonitorInfo::dataStreamIn(QDataStream &ds, QGeoAreaMonitorInfo &monitor)
-{
- QString s;
- ds >> s;
- monitor = QGeoAreaMonitorInfo(s);
-
- QUuid id;
- ds >> id;
- monitor.d->uid = id;
-
- QGeoShape shape;
- ds >> shape;
- monitor.setArea(shape);
-
- bool persistent;
- ds >> persistent;
- monitor.setPersistent(persistent);
-
- QVariantMap map;
- ds >> map;
- monitor.setNotificationParameters(map);
-
- QDateTime dt;
- ds >> dt;
- monitor.setExpiration(dt);
-
- return ds;
-}
-
-#endif
-
-#ifndef QT_NO_DEBUG_STREAM
-QDebug QGeoAreaMonitorInfo::debugStreaming(QDebug dbg, const QGeoAreaMonitorInfo &monitor)
-{
- QDebugStateSaver saver(dbg);
- dbg.nospace() << "QGeoAreaMonitorInfo(\"" << qPrintable(monitor.name())
- << "\", " << monitor.area()
- << ", persistent: " << monitor.isPersistent()
- << ", expiry: " << monitor.expiration() << ")";
- return dbg;
-}
-
-#endif
-
-size_t qHash(const QGeoAreaMonitorInfo &key, size_t seed) noexcept
-{
- return qHashMulti(seed, key.d->uid);
-}
-
-namespace QTest
-{
-
-char *toString(const QGeoAreaMonitorInfo &info)
-{
- QString result;
- QDebug dbg(&result);
- dbg << info;
- return qstrdup(qPrintable(result));
-}
-
-} // namespace QTest
-
-QT_END_NAMESPACE