W3cubDocs

/Qt

QMqttPublishProperties Class

The QMqttPublishProperties class represents configuration options for sending or receiving a message. More...

Header: #include <QMqttPublishProperties>
qmake: QT += mqtt
Since: Qt 5.12

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::PublishPropertyDetailflags 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().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qmqttpublishproperties.html