The QMqttTopicFilter class represents a MQTT topic filter. 更多...
| 頭: | #include <QMqttTopicFilter> |
| qmake: | QT += mqtt |
注意: 此類的所有函數 可重入 .
| enum | MatchOption { NoMatchOption, WildcardsDontMatchDollarTopicMatchOption } |
| flags | MatchOptions |
| QMqttTopicFilter (const QMqttTopicFilter & filter ) | |
| QMqttTopicFilter (const QLatin1String & filter ) | |
| QMqttTopicFilter (const QString & filter = QString()) | |
| QMqttTopicFilter & | operator= (const QMqttTopicFilter & filter ) |
| ~QMqttTopicFilter () | |
| QString | filter () const |
| bool | isValid () const |
| bool | match (const QMqttTopicName & name , QMqttTopicFilter::MatchOptions matchOptions = NoMatchOption) const |
| void | setFilter (const QString & filter ) |
| QString | sharedSubscriptionName () const |
| void | swap (QMqttTopicFilter & other ) |
| bool | operator!= (const QMqttTopicFilter & lhs , const QMqttTopicFilter & rhs ) |
| bool | operator< (const QMqttTopicFilter & lhs , const QMqttTopicFilter & rhs ) |
| QDataStream & | operator<< (QDataStream & out , const QMqttTopicFilter & filter ) |
| bool | operator== (const QMqttTopicFilter & lhs , const QMqttTopicFilter & rhs ) |
| QDataStream & | operator>> (QDataStream & in , QMqttTopicFilter & filter ) |
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 () 或 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")) { //... }
另請參閱 QMqttTopicName .
This enum value holds the matching options for the topic filter.
| 常量 | 值 | 描述 |
|---|---|---|
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.
Creates a new MQTT topic filter as a copy of filter .
Creates a new MQTT topic filter with the specified filter .
Creates a new MQTT topic filter with the specified filter .
Assigns the MQTT topic filter filter to this object, and returns a reference to the copy.
銷毀 QMqttTopicFilter 對象。
Returns the topic filter.
另請參閱 setFilter ().
返迴
true
if the topic filter is valid according to the MQTT standard section 4.7, or
false
否則。
返迴
true
if the topic filter matches the topic name
name
honoring the given
matchOptions
,或
false
否則。
Sets the topic filter to filter .
另請參閱 filter ().
Returns the name of a share if the topic filter has been specified as a shared subscription. The format of shared subscriptions is defined as
$share/sharename/topicfilter
.
該函數在 Qt 5.12 引入。
Swaps the MQTT topic filter other with this MQTT topic filter. This operation is very fast and never fails.
返迴
true
if the topic filters
lhs
and
rhs
不同,否則返迴
false
.
返迴
true
if the topic filter
lhs
is lexically less than the topic filter
rhs
;否則返迴
false
.
Writes the topic filter filter 到流 out 並返迴流引用。
另請參閱 QDataStream 運算符格式 .
返迴
true
if the topic filters
lhs
and
rhs
相等,否則返迴
false
.
Reads a topic filter into filter 從流 in 並返迴流引用。
另請參閱 QDataStream 運算符格式 .