QMqttTopicFilter Class
QMqttTopicFilter クラスは、MQTT トピック・フィルタを表します。詳細...
Header: | #include <QMqttTopicFilter> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Mqtt) target_link_libraries(mytarget PRIVATE Qt6::Mqtt) |
qmake: | QT += mqtt |
- 継承メンバを含むすべてのメンバの一覧
- QMqttTopicFilterは、暗黙的に共有されるクラスの一部です。
注意:このクラスの関数はすべてリエントラントです。
パブリック型
enum | MatchOption { NoMatchOption, WildcardsDontMatchDollarTopicMatchOption } |
flags | MatchOptions |
パブリック関数
QMqttTopicFilter(const QLatin1String &filter) | |
QMqttTopicFilter(const QString &filter = QString()) | |
QMqttTopicFilter(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) |
QMqttTopicFilter & | operator=(const QMqttTopicFilter &filter) |
関連する非メンバ
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 は、MQTT トピック・フィルタのための表現力豊かなデータ型を提供するQString の薄いラッパーです。強力な型を持つことで意図しない誤用を防ぐことができるという利点の他に、QMqttTopicFilterはisValid()やmatch()のようなトピックフィルタに関連する便利な関数を提供します。
例えば、以下のコードはコンパイルに失敗し、2つのフィルタの意図しない無意味なマッチングを防ぐことができます:
QMqttTopicFilter globalFilter{"foo/#"}; QMqttTopicFilter specificFilter{"foo/bar"}; if (globalFilter.match(specificFilter)) { //... }
しかし、次のスニペットは期待通りにコンパイルされ、実行されるので、使い勝手には影響しません:
QMqttTopicFilter globalFilter{"foo/#"}; if (globalFilter.match("foo/bar")) { //... }
QMqttTopicNameも参照して ください。
メンバ型のドキュメント
enum QMqttTopicFilter::MatchOption
flags QMqttTopicFilter::MatchOptions
この enum 値は、トピックフィルタのマッチオプションを保持します。
定数 | 値 | 説明 |
---|---|---|
QMqttTopicFilter::NoMatchOption | 0x0000 | マッチオプションは設定されません。 |
QMqttTopicFilter::WildcardsDontMatchDollarTopicMatchOption | 0x0001 | フィルタの先頭のワイルドカードは、ドル記号 ($) で始まるトピック名にはマッチしません。 |
MatchOptions型はQFlags<MatchOption>のtypedefです。MatchOption 値の OR の組み合わせを格納します。
メンバ関数ドキュメント
QMqttTopicFilter::QMqttTopicFilter(const QLatin1String &filter)
指定されたfilter で新しい MQTT トピック・フィルタを作成する。
QMqttTopicFilter::QMqttTopicFilter(const QString &filter = QString())
指定されたfilter で新しい MQTT トピック・フィルターを作成する。
QMqttTopicFilter::QMqttTopicFilter(const QMqttTopicFilter &filter)
filter のコピーとして新しい MQTT トピック・フィルタを作成します。
[noexcept]
QMqttTopicFilter::~QMqttTopicFilter()
QMqttTopicFilter オブジェクトを破棄します。
QString QMqttTopicFilter::filter() const
トピック・フィルタを返します。
setFilter()も参照 。
bool QMqttTopicFilter::isValid() const
トピック・フィルタが MQTT 標準のセクション 4.7 に従って有効な場合はtrue
を返し、そうでない場合はfalse
を返す。
bool QMqttTopicFilter::match(const QMqttTopicName &name, QMqttTopicFilter::MatchOptions matchOptions = NoMatchOption) const
トピック・フィルタが、与えられたmatchOptions に従ったトピック名name と一致する場合はtrue
を返し、そうでない場合はfalse
を返す。
void QMqttTopicFilter::setFilter(const QString &filter)
トピックフィルターをfilter に設定する。
filter()も参照 。
QString QMqttTopicFilter::sharedSubscriptionName() const
トピック・フィルタが共有サブスクリプションとして指定されている場合、共有名を返します。共有サブスクリプションの形式は$share/sharename/topicfilter
で定義されている。
[noexcept]
void QMqttTopicFilter::swap(QMqttTopicFilter &other)
MQTT トピックフィルターother をこの MQTT トピックフィルターと交換する。この操作は非常に高速で、失敗することはありません。
QMqttTopicFilter &QMqttTopicFilter::operator=(const QMqttTopicFilter &filter)
MQTT トピック・フィルタfilter をこのオブジェクトに割り当て、コピーへの参照を返します。
関連する非会員
[noexcept]
bool operator!=(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs)
トピックフィルターlhs とrhs が異なる場合はtrue
を返し、そうでない場合はfalse
を返します。
[noexcept]
bool operator<(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs)
トピックフィルタlhs がトピックフィルタrhs より語彙的に小さい場合はtrue
を返し、そうでない場合はfalse
を返します。
QDataStream &operator<<(QDataStream &out, const QMqttTopicFilter &filter)
トピック・フィルタfilter をストリームout に書き込み、そのストリームへの参照を返します。
QDataStream 演算子の形式」も参照してください 。
[noexcept]
bool operator==(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs)
トピック・フィルタlhs とrhs が等しい場合はtrue
を返し、そうでない場合はfalse
を返します。
QDataStream &operator>>(QDataStream &in, QMqttTopicFilter &filter)
トピック・フィルタをストリームin からfilter に読み取り、ストリームへの参照を返します。
QDataStream 演算子のフォーマットも参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。