En esta página

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

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)
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.

ConstanteValorDescripción
QMqttTopicFilter::NoMatchOption0x0000No se establecen opciones de coincidencia.
QMqttTopicFilter::WildcardsDontMatchDollarTopicMatchOption0x0001Un 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.