QGeoAreaMonitorInfo Class

The QGeoAreaMonitorInfo class describes the parameters of an area or region to be monitored for proximity. More...

Header: #include <QGeoAreaMonitorInfo>
CMake: find_package(Qt6 REQUIRED COMPONENTS Positioning)
target_link_libraries(mytarget PRIVATE Qt6::Positioning)
qmake: QT += positioning

Public Functions

QGeoAreaMonitorInfo(const QString &name = QString())
QGeoAreaMonitorInfo(const QGeoAreaMonitorInfo &other)
(since 6.2) QGeoAreaMonitorInfo(QGeoAreaMonitorInfo &&other)
~QGeoAreaMonitorInfo()
QGeoShape area() const
QDateTime expiration() const
QString identifier() const
bool isPersistent() const
bool isValid() const
QString name() const
QVariantMap notificationParameters() const
void setArea(const QGeoShape &newShape)
void setExpiration(const QDateTime &expiry)
void setName(const QString &name)
void setNotificationParameters(const QVariantMap &parameters)
void setPersistent(bool isPersistent)
(since 6.2) void swap(QGeoAreaMonitorInfo &other)
(since 6.2) QGeoAreaMonitorInfo &operator=(QGeoAreaMonitorInfo &&other)
QGeoAreaMonitorInfo &operator=(const QGeoAreaMonitorInfo &other)
bool operator!=(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)
QDataStream &operator<<(QDataStream &stream, const QGeoAreaMonitorInfo &monitor)
bool operator==(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)
QDataStream &operator>>(QDataStream &stream, QGeoAreaMonitorInfo &monitor)

Detailed Description

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 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 area(). Such objects must be registered with a 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 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 QGeoAreaMonitorSource::supportedAreaMonitorFeatures().

See also QGeoAreaMonitorSource.

Member Function Documentation

[explicit] QGeoAreaMonitorInfo::QGeoAreaMonitorInfo(const QString &name = QString())

Constructs a QGeoAreaMonitorInfo object with the specified name.

See also name().

QGeoAreaMonitorInfo::QGeoAreaMonitorInfo(const QGeoAreaMonitorInfo &other)

Constructs a QGeoAreaMonitorInfo object as a copy of other.

[noexcept, since 6.2] QGeoAreaMonitorInfo::QGeoAreaMonitorInfo(QGeoAreaMonitorInfo &&other)

Constructs a QGeoAreaMonitorInfo object by moving from 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.

This function was introduced in Qt 6.2.

[noexcept] QGeoAreaMonitorInfo::~QGeoAreaMonitorInfo()

Destructor

QGeoShape QGeoAreaMonitorInfo::area() const

Returns the boundaries of the to-be-monitored area. This area must not be empty.

See also setArea().

QDateTime QGeoAreaMonitorInfo::expiration() const

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 active monitors.

If the expiry 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.

See also setExpiration() and QGeoAreaMonitorSource::activeMonitors().

QString QGeoAreaMonitorInfo::identifier() const

Returns the identifier of the QGeoAreaMonitorInfo object. The identifier is automatically generated upon construction of a new QGeoAreaMonitorInfo object.

bool QGeoAreaMonitorInfo::isPersistent() const

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.

See also setPersistent().

bool QGeoAreaMonitorInfo::isValid() const

Returns true, if the monitor is valid. A valid QGeoAreaMonitorInfo has a non-empty name() and the monitored area is not empty(). Otherwise this function returns false.

QString QGeoAreaMonitorInfo::name() const

Returns the name of the QGeoAreaMonitorInfo object. The name should be used for user-visibility purposes.

See also setName().

QVariantMap QGeoAreaMonitorInfo::notificationParameters() const

Returns the set of platform specific parameters used by this QGeoAreaMonitorInfo.

See also setNotificationParameters().

void QGeoAreaMonitorInfo::setArea(const QGeoShape &newShape)

Sets the to-be-monitored area to newShape.

See also area().

void QGeoAreaMonitorInfo::setExpiration(const QDateTime &expiry)

Sets the expiry date and time to expiry.

See also expiration().

void QGeoAreaMonitorInfo::setName(const QString &name)

Sets the user visibile name.

See also name().

void QGeoAreaMonitorInfo::setNotificationParameters(const QVariantMap &parameters)

Sets the set of platform specific parameters used by QGeoAreaMonitorInfo.

See also notificationParameters().

void QGeoAreaMonitorInfo::setPersistent(bool isPersistent)

Sets the QGeoAreaMonitorInfo object's persistence to isPersistent.

Note that setting this flag does not imply that QGeoAreaMonitorSource supports persistent monitoring. QGeoAreaMonitorSource::supportedAreaMonitorFeatures() can be used to check for this feature's availability.

See also isPersistent().

[noexcept, since 6.2] void QGeoAreaMonitorInfo::swap(QGeoAreaMonitorInfo &other)

Swaps this QGeoAreaMonitorInfo object with other. This operation is very fast and never fails.

This function was introduced in Qt 6.2.

[noexcept, since 6.2] QGeoAreaMonitorInfo &QGeoAreaMonitorInfo::operator=(QGeoAreaMonitorInfo &&other)

Move-assigns 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.

This function was introduced in Qt 6.2.

QGeoAreaMonitorInfo &QGeoAreaMonitorInfo::operator=(const QGeoAreaMonitorInfo &other)

Assigns other to this QGeoAreaMonitorInfo object and returns a reference to this QGeoAreaMonitorInfo object.

Related Non-Members

bool operator!=(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)

Returns true if any of the lhs object's values are not the same as those of rhs object. Otherwise returns false.

QDataStream &operator<<(QDataStream &stream, const QGeoAreaMonitorInfo &monitor)

Writes the given monitor to the specified stream.

See also Serializing Qt Data Types.

bool operator==(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)

Returns true if all of the lhs object's values are the same as those of rhs object. Otherwise returns false.

QDataStream &operator>>(QDataStream &stream, QGeoAreaMonitorInfo &monitor)

Reads a area monitoring data from the specified stream into the given monitor.

See also Serializing Qt Data Types.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.