QCoapMessage

Header: | `QCoapMessage`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Coap)` `target_link_libraries(mytarget PRIVATE Qt6::Coap)`
qmake: | `QT += coap`
Inherited By: | QCoapRequest

- List of all members, including inherited members

Note: All functions in this class are reentrant.

## Public Types

enum class Type { Confirmable, NonConfirmable, Acknowledgment, Reset } |

## Public Functions

QCoapMessage() |
QCoapMessage(const QCoapMessage &other) |
~QCoapMessage() |
void addOption(const QCoapOption &option) |
void addOption(QCoapOption::OptionName name, const QByteArray &value = QByteArray()) |
void clearOptions() |
bool hasOption(QCoapOption::OptionName name) const |
quint16 messageId() const |
QCoapOption option(QCoapOption::OptionName name) const |
QCoapOption optionAt(int index) const |
int optionCount() const |
const QList<QCoapOption> &options() const |
QList<QCoapOption> options(QCoapOption::OptionName name) const |
QByteArray payload() const |
void removeOption(QCoapOption::OptionName name) |
void removeOption(const QCoapOption &option) |
void setMessageId(quint16 id) |
void setOptions(const QList<QCoapOption> &options) |
void setPayload(const QByteArray &payload) |
void setToken(const QByteArray &token) |
void setType(const QCoapMessage::Type &type) |
void setVersion(quint8 version) |
void swap(QCoapMessage &other) |
QByteArray token() const |
quint8 tokenLength() const |
QCoapMessage::Type type() const |
quint8 version() const |
QCoapMessage &operator=(QCoapMessage &&other) |
QCoapMessage &operator=(const QCoapMessage &other) |

## Detailed Description

It holds information such as the message type, message id, token and other ancillary data.

## Member Type Documentation

### enum class QCoapMessage::Type

Indicates the type of the message.

Constant | Description
--- | ---
`Confirmable` | A Confirmable message. The destination endpoint needs to acknowledge the message.
`NonConfirmable` | A Non-Confirmable message. The destination endpoint does not need to acknowledge the message.
`Acknowledgment` | An Acknowledgment message. A message sent or received in reply to a Confirmable message.
`Reset` | A Reset message. This message type is used in case of errors or to stop the ongoing transmission. (For example, it is used to cancel an observation).

## Member Function Documentation

### QCoapMessage::QCoapMessage()

Constructs a new QCoapMessage.

### QCoapMessage::QCoapMessage(const QCoapMessage &other)

Constructs a shallow copy of other.

### `[noexcept]` QCoapMessage::~QCoapMessage()

Destroys the QCoapMessage.

### void QCoapMessage::addOption(const QCoapOption &option)

Adds the given CoAP option.

### void QCoapMessage::addOption(QCoapOption::OptionName name, const QByteArray &value = QByteArray())

Adds the CoAP option with the given name and value.

### void QCoapMessage::clearOptions()

Removes all options.

### bool QCoapMessage::hasOption(QCoapOption::OptionName name) const

Returns `true` if the message contains at last one option with name.

### quint16 QCoapMessage::messageId() const

Returns the message id.

See also setMessageId().

### QCoapOption QCoapMessage::option(QCoapOption::OptionName name) const

Finds and returns the first option with the given name. If there is no such option, returns an invalid QCoapOption with an empty value.

### QCoapOption QCoapMessage::optionAt(int index) const

Returns the option at index position.

### int QCoapMessage::optionCount() const

Returns the number of options.

### const QList<QCoapOption> &QCoapMessage::options() const

Returns the list of options.

### QList<QCoapOption> QCoapMessage::options(QCoapOption::OptionName name) const

Finds and returns the list of options with the given name.

### QByteArray QCoapMessage::payload() const

Returns the payload.

See also setPayload().

### void QCoapMessage::removeOption(QCoapOption::OptionName name)

Removes all options with the given name. The CoAP protocol allows for the same option to repeat.

### void QCoapMessage::removeOption(const QCoapOption &option)

Removes the given option.

### void QCoapMessage::setMessageId(quint16 id)

Sets the message ID to id.

See also messageId().

### void QCoapMessage::setOptions(const QList<QCoapOption> &options)

Sets the message options to options.

### void QCoapMessage::setPayload(const QByteArray &payload)

Sets the message payload to payload. The payload can be represented in one of the content formats defined in CoAP Content-Formats Registry.

Note: CoAP supports common content formats such as XML, JSON, and so on, but these are text based and consequently heavy both in payload and in processing. One of the recommended content formats to use with CoAP is CBOR, which is designed to be used in such contexts.

See also payload(), QCborStreamWriter, and QCborStreamReader.

### void QCoapMessage::setToken(const QByteArray &token)

Sets the message token to token.

See also token().

### void QCoapMessage::setType(const QCoapMessage::Type &type)

Sets the message type to type.

See also type().

### void QCoapMessage::setVersion(quint8 version)

Sets the CoAP version to version.

See also version().

### `[noexcept]` void QCoapMessage::swap(QCoapMessage &other)

Swaps this message with other. This operation is very fast and never fails.

### QByteArray QCoapMessage::token() const

Returns the message token.

See also setToken().

### quint8 QCoapMessage::tokenLength() const

Returns the token length.

### QCoapMessage::Type QCoapMessage::type() const

Returns the message type.

See also setType().

### quint8 QCoapMessage::version() const

Returns the CoAP version.

See also setVersion().

### `[noexcept]` QCoapMessage &QCoapMessage::operator=(QCoapMessage &&other)

Moves other into this message and returns a reference to this QCoapMessage.

### QCoapMessage &QCoapMessage::operator=(const QCoapMessage &other)

Copies the contents of other into this message. Returns a reference to this QCoapMessage.