Sur cette page

QMqttTopicFilter Class

La classe QMqttTopicFilter représente un filtre de sujet MQTT. Plus d'informations...

En-tête : #include <QMqttTopicFilter>
CMake : find_package(Qt6 REQUIRED COMPONENTS Mqtt)
target_link_libraries(mytarget PRIVATE Qt6::Mqtt)
qmake : QT += mqtt

Note : Toutes les fonctions de cette classe sont réentrantes.

Types publics

enum MatchOption { NoMatchOption, WildcardsDontMatchDollarTopicMatchOption }
flags MatchOptions

Fonctions publiques

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)

Description détaillée

QMqttTopicFilter est une enveloppe fine autour de QString fournissant un type de données expressif pour les filtres de sujets MQTT. En plus des avantages d'avoir un type fort empêchant les abus involontaires, QMqttTopicFilter fournit des fonctions pratiques liées aux filtres de sujet comme isValid() ou match().

Par exemple, le code suivant ne pourrait pas être compilé et empêcherait une éventuelle correspondance involontaire et dénuée de sens entre deux filtres, en particulier si les noms de variables étaient moins expressifs :

QMqttTopicFilter globalFilter{"foo/#"};
QMqttTopicFilter specificFilter{"foo/bar"};
if (globalFilter.match(specificFilter)) {
    //...
}

La facilité d'utilisation n'est cependant pas affectée puisque l'extrait suivant se compile et s'exécute comme prévu :

QMqttTopicFilter globalFilter{"foo/#"};
if (globalFilter.match("foo/bar")) {
    //...
}

Voir aussi QMqttTopicName.

Documentation sur les types de membres

enum QMqttTopicFilter::MatchOption
flags QMqttTopicFilter::MatchOptions

Cette valeur enum contient les options de correspondance pour le filtre de sujet.

ConstanteValeurDescription
QMqttTopicFilter::NoMatchOption0x0000Aucune option de correspondance n'est définie.
QMqttTopicFilter::WildcardsDontMatchDollarTopicMatchOption0x0001Un caractère générique au début du filtre ne correspond pas à un nom de sujet qui commence par le signe du dollar ($).

Le type MatchOptions est un typedef pour QFlags<MatchOption>. Il stocke une combinaison OR de valeurs MatchOption.

Documentation des fonctions membres

QMqttTopicFilter::QMqttTopicFilter(const QLatin1String &filter)

Crée un nouveau filtre de sujet MQTT avec l'adresse filter spécifiée.

QMqttTopicFilter::QMqttTopicFilter(const QString &filter = QString())

Crée un nouveau filtre de sujet MQTT avec l'adresse filter spécifiée.

QMqttTopicFilter::QMqttTopicFilter(const QMqttTopicFilter &filter)

Crée un nouveau filtre de sujet MQTT en tant que copie de filter.

[noexcept] QMqttTopicFilter::~QMqttTopicFilter()

Détruit l'objet QMqttTopicFilter.

QString QMqttTopicFilter::filter() const

Renvoie le filtre du sujet.

Voir aussi setFilter().

bool QMqttTopicFilter::isValid() const

Retourne true si le filtre de sujet est valide selon la section 4.7 du standard MQTT, ou false dans le cas contraire.

bool QMqttTopicFilter::match(const QMqttTopicName &name, QMqttTopicFilter::MatchOptions matchOptions = NoMatchOption) const

Renvoie true si le filtre du sujet correspond au nom du sujet name en respectant la valeur donnée matchOptions, ou false dans le cas contraire.

void QMqttTopicFilter::setFilter(const QString &filter)

Définit le filtre du sujet à filter.

Voir aussi filter().

QString QMqttTopicFilter::sharedSubscriptionName() const

Renvoie le nom d'un partage si le filtre thématique a été spécifié en tant qu'abonnement partagé. Le format des abonnements partagés est défini comme suit : $share/sharename/topicfilter.

[noexcept] void QMqttTopicFilter::swap(QMqttTopicFilter &other)

Remplace le filtre de sujet MQTT other par ce filtre de sujet MQTT. Cette opération est très rapide et n'échoue jamais.

QMqttTopicFilter &QMqttTopicFilter::operator=(const QMqttTopicFilter &filter)

Affecte le filtre de sujet MQTT filter à cet objet et renvoie une référence à la copie.

Non-membres associés

[noexcept] bool operator!=(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs)

Renvoie true si les filtres de sujet lhs et rhs sont différents, sinon renvoie false.

[noexcept] bool operator<(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs)

Renvoie true si le filtre thématique lhs est lexicalement inférieur au filtre thématique rhs; sinon renvoie false.

QDataStream &operator<<(QDataStream &out, const QMqttTopicFilter &filter)

Écrit le filtre de sujet filter dans le flux out et renvoie une référence au flux.

Voir aussi Format des opérateurs QDataStream.

[noexcept] bool operator==(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs)

Renvoie true si les filtres de sujet lhs et rhs sont égaux, sinon renvoie false.

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

Lit un filtre de sujet dans filter à partir du flux in et renvoie une référence au flux.

Voir aussi Format des opérateurs QDataStream.

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