QMqttTopicFilter Class

QMqttTopicFilter クラスは、MQTT トピック・フィルタを表します。詳細...

ヘッダー #include <QMqttTopicFilter>
CMake: find_package(Qt6 REQUIRED COMPONENTS Mqtt)
target_link_libraries(mytarget PRIVATE Qt6::Mqtt)
qmake: QT += mqtt

注意:このクラスの関数はすべてリエントラントです。

パブリック・タイプ

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::NoMatchOption0x0000マッチオプションは設定されません。
QMqttTopicFilter::WildcardsDontMatchDollarTopicMatchOption0x0001フィルタの先頭のワイルドカードは、ドル記号 ($) で始まるトピック名にはマッチしません。

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)

トピックフィルターlhsrhs が異なる場合は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)

トピックフィルタlhsrhs が等しければtrue を返し、そうでなければfalse を返す。

QDataStream &operator>>(QDataStream &in, QMqttTopicFilter &filter)

トピック・フィルタをストリームin からfilter に読み込み、ストリームへの参照を返します。

QDataStream 演算子の形式も参照してください

© 2025 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.