RDMnet
0.3.0
Implementation of ANSI E1.33 (RDMnet)
|
View other versions:
|
An RDM response received over LLRP and saved for later processing.
This type is not used by the library API, but can come in handy if an application wants to queue or copy RDM responses before acting on them. This type does heap allocation to hold the response parameter data.
#include <rdmnet/cpp/message_types/llrp_rdm_response.h>
Public Member Functions | |
SavedRdmResponse ()=default | |
Constructs an empty, invalid RDM response by default. | |
SavedRdmResponse (const LlrpSavedRdmResponse &c_resp) | |
Construct a SavedRdmResponse copied from an instance of the C LlrpSavedRdmResponse type. | |
SavedRdmResponse & | operator= (const LlrpSavedRdmResponse &c_resp) |
Assign an instance of the C LlrpSavedRdmResponse type to an instance of this class. | |
SavedRdmResponse (const RdmResponse &resp) | |
Construct a SavedRdmResponse from an RdmResponse. | |
SavedRdmResponse & | operator= (const RdmResponse &resp) |
Assign an RdmResponse to an instance of this class. | |
const etcpal::Uuid & | source_cid () const noexcept |
Get the CID of the LLRP target that sent this response. | |
uint32_t | seq_num () const noexcept |
Get the LLRP sequence number of this response, for matching with a corresponding command. | |
rdm::Uid | source_uid () const noexcept |
Get the UID of the LLRP target that sent this response. | |
rdm::Uid | dest_uid () const noexcept |
Get the UID of the LLRP manager to which this response is addressed. | |
rdm_response_type_t | response_type () const noexcept |
Get the RDM response type of this response. | |
uint16_t | subdevice () const noexcept |
Get the RDM subdevice from which this response originated (0 means the root device). | |
rdm_command_class_t | command_class () const noexcept |
Get the RDM response class of this response. | |
uint16_t | param_id () const noexcept |
Get the RDM parameter ID (PID) of this response. | |
const rdm::ResponseHeader & | rdm_header () const noexcept |
Get the RDM protocol header contained within this response. | |
const uint8_t * | data () const noexcept |
Get a pointer to the RDM parameter data buffer contained within this response. | |
uint8_t | data_len () const noexcept |
Get the length of the RDM parameter data contained within this response. | |
const rdm::Response & | rdm () const noexcept |
Get the RDM data in this response as an RDM response type. | |
bool | IsValid () const noexcept |
Whether the values contained in this response are valid for an RDM response. More... | |
bool | HasData () const noexcept |
Whether this RDM response includes any RDM parameter data. | |
bool | IsAck () const noexcept |
Whether this response has an RDM response type of ACK. More... | |
bool | IsNack () const noexcept |
Whether this response has an RDM response type of NACK_REASON. More... | |
bool | IsGetResponse () const noexcept |
Whether this response is an RDM GET response. | |
bool | IsSetResponse () const noexcept |
Whether this response is an RDM SET response. | |
etcpal::Expected< rdm::NackReason > | GetNackReason () const noexcept |
Get the NACK reason code of this RDM response. More... | |
|
inlinenoexcept |
Get the NACK reason code of this RDM response.
|
inlinenoexcept |
Whether this response has an RDM response type of ACK.
If this is false, it implies that IsNack() is true (ACK_TIMER and ACK_OVERFLOW are not allowed in LLRP).
|
inlinenoexcept |
Whether this response has an RDM response type of NACK_REASON.
If this is false, it implies that IsAck() is true (ACK_TIMER and ACK_OVERFLOW are not allowed in LLRP).
|
inlinenoexcept |
Whether the values contained in this response are valid for an RDM response.
In particular, a default-constructed SavedRdmResponse is not valid.