QMqttTopicFilter Class
La clase QMqttTopicFilter representa un filtro de temas MQTT. Más...
| Cabecera: | #include <QMqttTopicFilter> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Mqtt)target_link_libraries(mytarget PRIVATE Qt6::Mqtt) |
| qmake: | QT += mqtt |
- Lista de todos los miembros, incluyendo los heredados
- QMqttTopicFilter es parte de Clases Implícitamente Compartidas.
Nota: Todas las funciones de esta clase son reentrantes.
Tipos Públicos
| enum | MatchOption { NoMatchOption, WildcardsDontMatchDollarTopicMatchOption } |
| flags | MatchOptions |
Funciones Públicas
| 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) |
No Miembros Relacionados
| 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) |
Descripción Detallada
QMqttTopicFilter es una fina envoltura alrededor de QString que proporciona un tipo de datos expresivo para los filtros de temas MQTT. Además de los beneficios de tener un tipo fuerte que previene el mal uso no intencionado, QMqttTopicFilter proporciona funciones convenientes relacionadas con filtros de temas como isValid() o match().
Por ejemplo, el siguiente código fallaría al compilar y evitaría una posible coincidencia no intencionada y sin sentido de dos filtros, especialmente si los nombres de las variables fueran menos expresivos:
QMqttTopicFilter globalFilter{"foo/#"}; QMqttTopicFilter specificFilter{"foo/bar"}; if (globalFilter.match(specificFilter)) { //... }
La usabilidad, sin embargo, no se ve afectada ya que el siguiente fragmento compila y se ejecuta como se espera:
QMqttTopicFilter globalFilter{"foo/#"}; if (globalFilter.match("foo/bar")) { //... }
Véase también QMqttTopicName.
Documentación de tipos de miembros
enum QMqttTopicFilter::MatchOption
flags QMqttTopicFilter::MatchOptions
Este valor enum contiene las opciones de coincidencia para el filtro de temas.
| Constante | Valor | Descripción |
|---|---|---|
QMqttTopicFilter::NoMatchOption | 0x0000 | No se establecen opciones de coincidencia. |
QMqttTopicFilter::WildcardsDontMatchDollarTopicMatchOption | 0x0001 | Un comodín al principio del filtro no coincide con un nombre de tema que empiece por el signo de dólar ($). |
El tipo MatchOptions es un typedef para QFlags<MatchOption>. Almacena una combinación OR de valores MatchOption.
Documentación de las funciones miembro
QMqttTopicFilter::QMqttTopicFilter(const QLatin1String &filter)
Crea un nuevo filtro de temas MQTT con la dirección filter especificada.
QMqttTopicFilter::QMqttTopicFilter(const QString &filter = QString())
Crea un nuevo filtro de temas MQTT con la dirección filter especificada.
QMqttTopicFilter::QMqttTopicFilter(const QMqttTopicFilter &filter)
Crea un nuevo filtro de temas MQTT como copia de filter.
[noexcept] QMqttTopicFilter::~QMqttTopicFilter()
Destruye el objeto QMqttTopicFilter.
QString QMqttTopicFilter::filter() const
Devuelve el filtro de temas.
Véase también setFilter().
bool QMqttTopicFilter::isValid() const
Devuelve true si el filtro de temas es válido según la sección 4.7 del estándar MQTT, o false en caso contrario.
bool QMqttTopicFilter::match(const QMqttTopicName &name, QMqttTopicFilter::MatchOptions matchOptions = NoMatchOption) const
Devuelve true si el filtro de temas coincide con el nombre del tema name respetando el matchOptions dado, o false en caso contrario.
void QMqttTopicFilter::setFilter(const QString &filter)
Establece el filtro de temas en filter.
Véase también filter().
QString QMqttTopicFilter::sharedSubscriptionName() const
Devuelve el nombre de una suscripción compartida si el filtro de temas se ha especificado como suscripción compartida. El formato de las suscripciones compartidas se define como $share/sharename/topicfilter.
[noexcept] void QMqttTopicFilter::swap(QMqttTopicFilter &other)
Intercambia el filtro de temas MQTT other con este filtro de temas MQTT. Esta operación es muy rápida y nunca falla.
QMqttTopicFilter &QMqttTopicFilter::operator=(const QMqttTopicFilter &filter)
Asigna el filtro de temas MQTT filter a este objeto y devuelve una referencia a la copia.
No miembros relacionados
[noexcept] bool operator!=(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs)
Devuelve true si los filtros de temas lhs y rhs son diferentes, en caso contrario devuelve false.
[noexcept] bool operator<(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs)
Devuelve true si el filtro temático lhs es léxicamente menor que el filtro temático rhs; en caso contrario devuelve false.
QDataStream &operator<<(QDataStream &out, const QMqttTopicFilter &filter)
Escribe el filtro de temas filter en el flujo out y devuelve una referencia al flujo.
Véase también Formato de los operadores QDataStream.
[noexcept] bool operator==(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs)
Devuelve true si los filtros de temas lhs y rhs son iguales, en caso contrario devuelve false.
QDataStream &operator>>(QDataStream &in, QMqttTopicFilter &filter)
Lee un filtro de temas en filter desde el flujo in y devuelve una referencia al flujo.
Véase también Formato de los operadores 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.