QMqttTopicFilter Class▲
-
Header: QMqttTopicFilter
-
qmake: QT += mqtt
-
Group: QMqttTopicFilter is part of shared
Detailed Description▲
QMqttTopicFilter is a thin wrapper around a QString providing an expressive data type for MQTT topic filters. Beside the benefits of having a strong type preventing unintended misuse, QMqttTopicFilter provides convenient functions related to topic filters like isValid() or match().
For example, the following code would fail to compile and prevent a possible unintended and meaningless matching of two filters, especially if the variable names were less expressive:
QMqttTopicFilter globalFilter{
"foo/#"
}
;
QMqttTopicFilter specificFilter{
"foo/bar"
}
;
if
(globalFilter.match(specificFilter)) {
//...
}
The usability, however, is not affected since the following snippet compiles and runs as expected:
QMqttTopicFilter globalFilter{
"foo/#"
}
;
if
(globalFilter.match("foo/bar"
)) {
//...
}
See Also▲
See also QMqttTopicName
Member Type Documentation▲
enum QMqttTopicFilter::MatchOption▲
flags QMqttTopicFilter::MatchOptions
This enum value holds the matching options for the topic filter.
Constant |
Value |
Description |
---|---|---|
QMqttTopicFilter::NoMatchOption |
0x0000 |
No match options are set. |
QMqttTopicFilter::WildcardsDontMatchDollarTopicMatchOption |
0x0001 |
A wildcard at the filter's beginning does not match a topic name that starts with the dollar sign ($). |
The MatchOptions type is a typedef for QFlags<MatchOption>. It stores an OR combination of MatchOption values.
Member Function Documentation▲
QMqttTopicFilter::QMqttTopicFilter(const QString &filter = QString())▲
Creates a new MQTT topic filter with the specified filter.
QMqttTopicFilter::QMqttTopicFilter(const QLatin1String &filter)▲
Creates a new MQTT topic filter with the specified filter.
QMqttTopicFilter::QMqttTopicFilter(const QMqttTopicFilter &filter)▲
Creates a new MQTT topic filter as a copy of filter.
QMqttTopicFilter::~QMqttTopicFilter()▲
Destroys the QMqttTopicFilter object.
QString QMqttTopicFilter::filter() const▲
bool QMqttTopicFilter::isValid() const▲
Returns true if the topic filter is valid according to the MQTT standard section 4.7, or false otherwise.
bool QMqttTopicFilter::match(const QMqttTopicName &name, QMqttTopicFilter::MatchOptions matchOptions = NoMatchOption) const▲
Returns true if the topic filter matches the topic name name honoring the given matchOptions, or false otherwise.
void QMqttTopicFilter::setFilter(const QString &filter)▲
[since 5.12] QString QMqttTopicFilter::sharedSubscriptionName() const▲
This function was introduced in Qt 5.12.
void QMqttTopicFilter::swap(QMqttTopicFilter &other)▲
Swaps the MQTT topic filter other with this MQTT topic filter. This operation is very fast and never fails.
QMqttTopicFilter &QMqttTopicFilter::operator=(const QMqttTopicFilter &filter)▲
Assigns the MQTT topic filter filter to this object, and returns a reference to the copy.
Related Non-Members▲
QDataStream &operator<<(QDataStream &out, const QMqttTopicFilter &filter)▲
Writes the topic filter filter to the stream out and returns a reference to the stream.
See Also▲
See also Format of the QDataStream operators
QDataStream &operator>>(QDataStream &in, QMqttTopicFilter &filter)▲
Reads a topic filter into filter from the stream in and returns a reference to the stream.
See Also▲
See also Format of the QDataStream operators