HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
HF::Core::AttributeReporting::Rule Struct Reference

Parent class for all report rules. More...

#include <attribute_reporting.h>

+ Inheritance diagram for HF::Core::AttributeReporting::Rule:
+ Collaboration diagram for HF::Core::AttributeReporting::Rule:

Public Member Functions

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

Reference report
 Report reference this rule generates.
 
Protocol::Address destination
 Device/unit that will receive the report.
 

Static Public Attributes

static constexpr uint16_t min_size
 Minimum pack/unpack required data size.
 

Protected Member Functions

 Rule (Type type)
 Constructor. More...
 

Detailed Description

Parent class for all report rules.

Definition at line 168 of file attribute_reporting.h.

Constructor & Destructor Documentation

◆ Rule()

HF::Core::AttributeReporting::Rule::Rule ( Type  type)
inlineprotected

Constructor.

Parameters
[in]typeReport reference type of this rule.

Definition at line 198 of file attribute_reporting.h.

198 : report(type) {}
Reference report
Report reference this rule generates.

Member Function Documentation

◆ pack()

uint16_t HF::Core::AttributeReporting::Rule::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::Core::AttributeReporting::Rule::size ( ) const

Number bytes needed to serialize the message.

Returns
number of bytes the message requires to be serialized.

◆ unpack()

uint16_t HF::Core::AttributeReporting::Rule::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.

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