이 페이지에서

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()`와 같은 토픽 필터와 관련된 편리한 함수들을 제공합니다.

예를 들어, 다음 코드는 컴파일 오류가 발생하며, 특히 변수 이름이 표현력이 떨어질 경우 두 필터 간의 의도치 않고 무의미한 일치를 방지합니다:

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

이 열거형 값은 토픽 필터의 일치 옵션을 포함합니다.

상수값설명
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)

other MQTT 토픽 필터를 이 MQTT 토픽 필터로 교체합니다. 이 작업은 매우 빠르며 절대 실패하지 않습니다.

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

이 객체에 MQTT 토픽 필터 filter 를 할당하고, 복사본에 대한 참조를 반환합니다.

관련 비회원

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

lhs 와 rhs 토픽 필터가 서로 다른 경우 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)

lhs 와 rhs 토픽 필터가 동일할 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

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

in 스트림에서 토픽 필터를 읽어와 filter 에 할당하고, 해당 스트림에 대한 참조를 반환합니다.

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.