QCoapMessage Class
The QCoapMessage class holds information about a CoAP message that can be a request or a reply. More...
Header: | #include <QCoapMessage> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Coap) target_link_libraries(mytarget PRIVATE Qt6::Coap) |
qmake: | QT += coap |
Inherited By: |
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(const QCoapOption &option) |
void | removeOption(QCoapOption::OptionName name) |
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=(const QCoapMessage &other) |
QCoapMessage & | operator=(QCoapMessage &&other) |
Detailed Description
It holds information such as the message type, message id, token and other ancillary data.
See also QCoapOption, QCoapReply, and QCoapRequest.
Member Type Documentation
enum class QCoapMessage::Type
Indicates the type of the message.
Constant | Value | Description |
---|---|---|
QCoapMessage::Type::Confirmable | 0 | A Confirmable message. The destination endpoint needs to acknowledge the message. |
QCoapMessage::Type::NonConfirmable | 1 | A Non-Confirmable message. The destination endpoint does not need to acknowledge the message. |
QCoapMessage::Type::Acknowledgment | 2 | An Acknowledgment message. A message sent or received in reply to a Confirmable message. |
QCoapMessage::Type::Reset | 3 | 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.
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())
This is an overloaded function.
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.
See also setOptions().
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(const QCoapOption &option)
Removes the given option.
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::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.
See also 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().
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().
QCoapMessage &QCoapMessage::operator=(const QCoapMessage &other)
Copies the contents of other into this message. Returns a reference to this QCoapMessage.
QCoapMessage &QCoapMessage::operator=(QCoapMessage &&other)
Move-assignment operator.
© 2023 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.