HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
HF::Protocol::GetAttributePack::Response Struct Reference

This class represents the payload of a HF::Message::GET_ATTR_PACK_RES message. More...

#include <attributes.h>

+ Inheritance diagram for HF::Protocol::GetAttributePack::Response:
+ Collaboration diagram for HF::Protocol::GetAttributePack::Response:

Public Member Functions

 Response ()
 Constructor.
 
 Response (HF::Attributes::List &attributes)
 Constructor. More...
 
 Response (HF::Attributes::Factory factory)
 Constructor. More...
 
uint16_t size () const
 Number bytes needed to serialize the message. More...
 
uint16_t pack (Common::ByteArray &array, uint16_t offset=0) const
 Write the object on to a ByteArray so it can be sent over the network. More...
 
uint16_t unpack (const Common::ByteArray &array, uint16_t offset=0)
 Read a message from a ByteArray. More...
 
- Public Member Functions inherited from HF::Protocol::Response
uint16_t size () const
 Number bytes needed to serialize the message. More...
 
uint16_t pack (Common::ByteArray &array, uint16_t offset=0) const
 Write the object on to a ByteArray so it can be sent over the network. More...
 
uint16_t unpack (const Common::ByteArray &array, uint16_t offset=0)
 Read a message from a ByteArray. More...
 

Data Fields

HF::Attributes::Factory attribute_factory
 Pointer to the function to request the attribute instances to unpack the response. More...
 
uint8_t count
 Unpack attribute count. More...
 

Static Public Attributes

static constexpr uint16_t min_size
 Minimum pack/unpack required data size.
 
- Static Public Attributes inherited from HF::Protocol::Response
static constexpr uint16_t min_size = sizeof(uint8_t)
 Minimum number of bytes required by this message.
 

Detailed Description

This class represents the payload of a HF::Message::GET_ATTR_PACK_RES message.

The payload contains the attribute values that were requested.

Definition at line 934 of file attributes.h.

Constructor & Destructor Documentation

◆ Response() [1/2]

HF::Protocol::GetAttributePack::Response::Response ( HF::Attributes::List attributes)
inline

Constructor.

Parameters
[in]attributeslist of attributes to send.

Definition at line 961 of file attributes.h.

961  :
962  attribute_factory(nullptr), attributes(attributes)
963  {}
HF::Attributes::Factory attribute_factory
Pointer to the function to request the attribute instances to unpack the response.
Definition: attributes.h:937

◆ Response() [2/2]

HF::Protocol::GetAttributePack::Response::Response ( HF::Attributes::Factory  factory)
inline

Constructor.

Parameters
[in]factoryattribute factory to use when reading the incoming attributes.

Definition at line 971 of file attributes.h.

971  :
972  attribute_factory(factory)
973  {}
HF::Attributes::Factory attribute_factory
Pointer to the function to request the attribute instances to unpack the response.
Definition: attributes.h:937

Member Function Documentation

◆ pack()

uint16_t HF::Protocol::GetAttributePack::Response::pack ( Common::ByteArray array,
uint16_t  offset = 0 
) const

Write the object on to a ByteArray so it can be sent over the network.

The buffer passed in MUST have enough size to hold the serialized object, e.g.,

Serializable obj;
ByteArray payload(obj.size());
obj.pack(payload);
Parameters
[in,out]arrayByteArray reference to write the object to.
[in]offsetoffset to start writing to.
Returns
the number of bytes written.

◆ size()

uint16_t HF::Protocol::GetAttributePack::Response::size ( ) const

Number bytes needed to serialize the message.

Returns
number of bytes the message requires to be serialized.

◆ unpack()

uint16_t HF::Protocol::GetAttributePack::Response::unpack ( const Common::ByteArray array,
uint16_t  offset = 0 
)

Read a message from a ByteArray.

Parameters
[in]arrayByteArray reference to read the message from.
[in]offsetoffset to start reading from.
Returns
the number of bytes read.
Precondition
The attribute attribute_factory MUST NOT be equal to nullptr.

Field Documentation

◆ attribute_factory

HF::Attributes::Factory HF::Protocol::GetAttributePack::Response::attribute_factory

Pointer to the function to request the attribute instances to unpack the response.

List containing the attributes to send.

Definition at line 937 of file attributes.h.

◆ count

uint8_t HF::Protocol::GetAttributePack::Response::count

Unpack attribute count.

Warning
This value will not be used as the number of attributes, when packing the request.

Definition at line 948 of file attributes.h.


The documentation for this struct was generated from the following file: