QMqttTopicFilter Class
La classe QMqttTopicFilter représente un filtre de sujet MQTT. En savoir plus...
| En-tête : | #include <QMqttTopicFilter> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Mqtt) target_link_libraries(mytarget PRIVATE Qt6::Mqtt) |
| qmake : | QT += mqtt |
- Liste de tous les membres, y compris les membres hérités
- QMqttTopicFilter fait partie des classes partagées implicitement.
Remarque : 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) |
Éléments non membres associés
| 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 un simple wrapper autour d’un QString, fournissant un type de données expressif pour les filtres de sujets MQTT. Outre les avantages liés à un typage fort empêchant toute utilisation abusive involontaire, QMqttTopicFilter fournit des fonctions pratiques liées aux filtres de sujets, telles que isValid() ou match().
Par exemple, le code suivant échouerait à la compilation et empêcherait une correspondance involontaire et dénuée de sens entre deux filtres, en particulier si les noms de variables étaient moins explicites :
QMqttTopicFilter globalFilter{"foo/#"};
QMqttTopicFilter specificFilter{"foo/bar"};
if (globalFilter.match(specificFilter)) {
//...
}La facilité d’utilisation n’en est toutefois pas affectée, puisque l’extrait de code suivant se compile et s’exécute comme prévu :
QMqttTopicFilter globalFilter{"foo/#"};
if (globalFilter.match("foo/bar")) {
//...
}Voir également QMqttTopicName.
Documentation sur les types de membres
enum QMqttTopicFilter::MatchOption
flags QMqttTopicFilter::MatchOptions
Cette valeur d'énumération contient les options de correspondance pour le filtre de sujet.
| Constante | Valeur | Description |
|---|---|---|
QMqttTopicFilter::NoMatchOption | 0x0000 | Aucune option de correspondance n’est définie. |
QMqttTopicFilter::WildcardsDontMatchDollarTopicMatchOption | 0x0001 | Un caractère générique placé au début du filtre ne correspond pas à un nom de rubrique commençant par le signe dollar ($). |
Le type MatchOptions est un typedef pour QFlags<MatchOption>. Il stocke une combinaison OU de valeurs MatchOption.
Documentation des fonctions membres
QMqttTopicFilter::QMqttTopicFilter(const QLatin1String &filter)
Crée un nouveau filtre de sujet MQTT avec l'filter spécifiée.
QMqttTopicFilter::QMqttTopicFilter(const QString &filter = QString())
Crée un nouveau filtre de sujet MQTT avec l'filter spécifiée.
QMqttTopicFilter::QMqttTopicFilter(const QMqttTopicFilter &filter)
Crée un nouveau filtre de sujet MQTT qui est une copie de filter.
[noexcept] QMqttTopicFilter::~QMqttTopicFilter()
Supprime l'objet « QMqttTopicFilter ».
QString QMqttTopicFilter::filter() const
Renvoie le filtre de sujet.
Voir aussi setFilter().
bool QMqttTopicFilter::isValid() const
Renvoie « true » si le filtre de sujet est valide conformément à la section 4.7 de la norme MQTT, ou « false » dans le cas contraire.
bool QMqttTopicFilter::match(const QMqttTopicName &name, QMqttTopicFilter::MatchOptions matchOptions = NoMatchOption) const
Renvoie « true » si le filtre de sujet correspond au nom de sujet « name » en respectant l'matchOptions spécifiée, ou « false » dans le cas contraire.
void QMqttTopicFilter::setFilter(const QString &filter)
Définit le filtre de sujets sur « filter ».
Voir également filter().
QString QMqttTopicFilter::sharedSubscriptionName() const
Renvoie le nom d'un partage si le filtre de sujet a été spécifié sous la forme d'un 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 ne rencontre jamais d'échec.
QMqttTopicFilter &QMqttTopicFilter::operator=(const QMqttTopicFilter &filter)
Attribue le filtre de sujet MQTT « filter » à cet objet et renvoie une référence à la copie.
Éléments 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 de sujet lhs est lexicalement inférieur au filtre de sujet 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 à ce flux.
Voir également 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 identiques ; 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 à ce flux.
Voir également 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.