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
플래그 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)

MQTT 토픽 필터 other 를 이 MQTT 토픽 필터로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.

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

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

관련 비회원

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

주제 필터 lhsrhs 가 다르면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

토픽 필터 lhs 가 토픽 필터 rhs 보다 어휘적으로 작으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

out 스트림에 주제 필터 filter 를 쓰고 스트림에 대한 참조를 반환합니다.

QDataStream 연산자의 형식도참조하세요 .

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

주제 필터 lhsrhs 이 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

in 스트림에서 filter 로 주제 필터를 읽고 스트림에 대한 참조를 반환합니다.

QDataStream 연산자의 형식도참조하세요 .

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