QMqttPublishProperties Class
The QMqttPublishProperties class represents configuration options for sending or receiving a message. More...
| Header: | #include <QMqttPublishProperties> | 
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Mqtt)target_link_libraries(mytarget PRIVATE Qt6::Mqtt) | 
| qmake: | QT += mqtt | 
Public Types
| enum | PublishPropertyDetail { None, PayloadFormatIndicator, MessageExpiryInterval, TopicAlias, ResponseTopic, …, ContentType } | 
| flags | PublishPropertyDetails | 
Public Functions
| QMqttPublishProperties::PublishPropertyDetails | availableProperties() const | 
| QString | contentType() const | 
| QByteArray | correlationData() const | 
| quint32 | messageExpiryInterval() const | 
| QMqtt::PayloadFormatIndicator | payloadFormatIndicator() const | 
| QString | responseTopic() const | 
| void | setContentType(const QString &type) | 
| void | setCorrelationData(const QByteArray &correlation) | 
| void | setMessageExpiryInterval(quint32 interval) | 
| void | setPayloadFormatIndicator(QMqtt::PayloadFormatIndicator indicator) | 
| void | setResponseTopic(const QString &topic) | 
| void | setSubscriptionIdentifiers(const QList<quint32> &ids) | 
| void | setTopicAlias(quint16 alias) | 
| void | setUserProperties(const QMqttUserProperties &properties) | 
| QList<quint32> | subscriptionIdentifiers() const | 
| quint16 | topicAlias() const | 
| QMqttUserProperties | userProperties() const | 
Detailed Description
Invoking QMqttClient::publish() to send a message to a broker can include QMqttPublishProperties to provide additional arguments on how the message should be treated on the broker.
Furthermore receiving a message by an instantiated subscription might contain publish properties which have been forwarded or adapted by the server.
Note: Publish properties are part of the MQTT 5.0 specification and cannot be used when connecting with a lower protocol level. See QMqttClient::ProtocolVersion for more information.
Member Type Documentation
enum QMqttPublishProperties::PublishPropertyDetail
flags QMqttPublishProperties::PublishPropertyDetails
This enum type specifies the available properties set by the server or the client when creating a message.
| Constant | Value | Description | 
|---|---|---|
| QMqttPublishProperties::None | 0x00000000 | No property has been specified. | 
| QMqttPublishProperties::PayloadFormatIndicator | 0x00000001 | The type of content of the message. | 
| QMqttPublishProperties::MessageExpiryInterval | 0x00000002 | The duration a message is valid. | 
| QMqttPublishProperties::TopicAlias | 0x00000004 | The topic alias for this message. | 
| QMqttPublishProperties::ResponseTopic | 0x00000008 | The topic the receipient should respond to. | 
| QMqttPublishProperties::CorrelationData | 0x00000010 | An identifier of the response message. | 
| QMqttPublishProperties::UserProperty | 0x00000020 | Additional properties set by the user. | 
| QMqttPublishProperties::SubscriptionIdentifier | 0x00000040 | An identifier of subscriptions matching the publication. | 
| QMqttPublishProperties::ContentType | 0x00000080 | A description of the content of the message. | 
The PublishPropertyDetails type is a typedef for QFlags<PublishPropertyDetail>. It stores an OR combination of PublishPropertyDetail values.
Member Function Documentation
QMqttPublishProperties::PublishPropertyDetails QMqttPublishProperties::availableProperties() const
Returns the available properties specified in this instance. When a message is created, it does not need to include all properties. This function serves as an indicator of those properties which have been explicitly set.
QString QMqttPublishProperties::contentType() const
Returns the content type of the message.
See also setContentType().
QByteArray QMqttPublishProperties::correlationData() const
Returns the correlation data.
See also setCorrelationData().
quint32 QMqttPublishProperties::messageExpiryInterval() const
Returns the message expiry interval. This value specifies the number of seconds a server is allowed to forward the message. If the interval expires, the server must delete the message and abort publishing it.
See also setMessageExpiryInterval().
QMqtt::PayloadFormatIndicator QMqttPublishProperties::payloadFormatIndicator() const
Returns the payload format indicator.
See also setPayloadFormatIndicator().
QString QMqttPublishProperties::responseTopic() const
Returns the response topic a user should use as a follow up to a request.
See also setResponseTopic().
void QMqttPublishProperties::setContentType(const QString &type)
Sets the content type of the message to type.
See also contentType().
void QMqttPublishProperties::setCorrelationData(const QByteArray &correlation)
Sets the correlation data to correlation.
See also correlationData().
void QMqttPublishProperties::setMessageExpiryInterval(quint32 interval)
Sets the message expiry interval to interval.
See also messageExpiryInterval().
void QMqttPublishProperties::setPayloadFormatIndicator(QMqtt::PayloadFormatIndicator indicator)
Sets the payload format indicator to indicator.
See also payloadFormatIndicator().
void QMqttPublishProperties::setResponseTopic(const QString &topic)
Sets the response topic to topic.
See also responseTopic().
void QMqttPublishProperties::setSubscriptionIdentifiers(const QList<quint32> &ids)
Sets the subscription identifiers to ids.
See also subscriptionIdentifiers().
void QMqttPublishProperties::setTopicAlias(quint16 alias)
Sets the topic alias for publishing a message to alias. A topic alias value must be greater than zero and less than the maximum topic alias specified by the server.
See also topicAlias() and QMqttServerConnectionProperties::maximumTopicAlias().
void QMqttPublishProperties::setUserProperties(const QMqttUserProperties &properties)
Sets the user properties of a message to properties.
See also userProperties().
QList<quint32> QMqttPublishProperties::subscriptionIdentifiers() const
Returns the subscription identifiers of subscriptions matching the topic filter of the message.
See also setSubscriptionIdentifiers().
quint16 QMqttPublishProperties::topicAlias() const
Returns the topic alias used for publishing a message.
See also setTopicAlias().
QMqttUserProperties QMqttPublishProperties::userProperties() const
Returns the user properties of a message.
See also setUserProperties().