QMqttPublishProperties Class | Qt MQTT 6.4.1

- Qt 6.4
- Qt MQTT
- C++ Classes
- QMqttPublishProperties
- Qt 6.4.1 Reference Documentation

# 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
Since: | Qt 5.12

- List of all members, including inherited members

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