HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.

This module contains the classes that define and implement the Group Table service API. More...

+ Collaboration diagram for Group Table:

Data Structures

struct  HF::Core::GroupTable::Entry
 This represents a group table entry data structure. More...
 
struct  HF::Core::GroupTable::NumberOfEntries
 Helper class to handle the Number Of Entries attribute for the Group Table service. More...
 
struct  HF::Core::GroupTable::NumberOfMaxEntries
 Helper class to handle the Number Of Max Entries attribute for the Group Table service. More...
 
struct  HF::Core::GroupTable::Response
 Base class for responses. More...
 
struct  HF::Core::GroupTable::ReadEntries
 This class contains the required parameters for a GroupTable::READ_ENTRIES_CMD command. More...
 
struct  HF::Core::GroupTable::ReadEntriesResponse
 This class the response for a GroupTable::READ_ENTRIES_CMD command. More...
 
struct  HF::Core::GroupTable::IEntries
 Group Table persistent storage API. More...
 
struct  HF::Core::GroupTable::Entries
 Default implementation of the IEntries API. More...
 
struct  HF::Core::GroupTable::Base
 Group Table Service : Parent. More...
 
class  HF::Core::GroupTable::IServer
 Group Table Service : Server side implementation. More...
 
struct  HF::Core::GroupTable::Client
 Group Table Service : Client side implementation. More...
 

Enumerations

enum  HF::Core::GroupTable::CMD { HF::Core::GroupTable::ADD_CMD = 0x01, HF::Core::GroupTable::REMOVE_CMD = 0x02, HF::Core::GroupTable::REMOVE_ALL_CMD = 0x03, HF::Core::GroupTable::READ_ENTRIES_CMD = 0x04 }
 Command IDs. More...
 
enum  HF::Core::GroupTable::Attributes { HF::Core::GroupTable::NUMBER_OF_ENTRIES_ATTR = 0x01, HF::Core::GroupTable::NUMBER_OF_MAX_ENTRIES_ATTR = 0x02 }
 Attributes. More...
 

Functions

HF::Attributes::IAttributeHF::Core::create_attribute (GroupTable::IServer *server, uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. More...
 
HF::Attributes::IAttributeHF::Core::GroupTable::create_attribute (uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. (HF::Core::GroupTable::Server *,uint8_t) More...
 
std::ostream & operator<< (std::ostream &stream, const HF::Core::GroupTable::CMD command)
 Convert the given command into a string and write it to the given stream. More...
 
std::ostream & operator<< (std::ostream &stream, const HF::Core::GroupTable::Attributes attribute)
 Convert the given attribute into a string and write it to the given stream. More...
 

Detailed Description

This module contains the classes that define and implement the Group Table service API.

Enumeration Type Documentation

◆ Attributes

Attributes.

Enumerator
NUMBER_OF_ENTRIES_ATTR 

Number Of Entries attribute UID.

NUMBER_OF_MAX_ENTRIES_ATTR 

Number Of Max Entries attribute UID.

Definition at line 72 of file group_table.h.

73  {
74  NUMBER_OF_ENTRIES_ATTR = 0x01,
76  __LAST_ATTR__ = NUMBER_OF_MAX_ENTRIES_ATTR
77  } Attributes;
Number Of Entries attribute UID.
Definition: group_table.h:74
Number Of Max Entries attribute UID.
Definition: group_table.h:75
Attributes
Attributes.
Definition: group_table.h:72

◆ CMD

Command IDs.

Enumerator
ADD_CMD 

Add command UID.

REMOVE_CMD 

Remove command UID.

REMOVE_ALL_CMD 

Remove All command %UID.

READ_ENTRIES_CMD 

Read Entries command UID.

Definition at line 62 of file group_table.h.

63  {
64  ADD_CMD = 0x01,
65  REMOVE_CMD = 0x02,
66  REMOVE_ALL_CMD = 0x03,
67  READ_ENTRIES_CMD = 0x04,
68  __LAST_CMD__ = READ_ENTRIES_CMD
69  } CMD;
CMD
Command IDs.
Definition: group_table.h:62
Read Entries command UID.
Definition: group_table.h:67
Remove command UID.
Definition: group_table.h:65
Remove All command %UID.
Definition: group_table.h:66

Function Documentation

◆ create_attribute() [1/2]

HF::Attributes::IAttribute* HF::Core::create_attribute ( GroupTable::IServer server,
uint8_t  uid 
)

Create an attribute object that can hold the attribute with the given uid.

If server is not equal to nullptr then initialize it with the current value.

Parameters
[in]serverpointer to the object to read the current value from.
[in]uidattribute's UID to create the attribute object for.
Returns
pointer to an attribute object or nullptr if the attribute UID does not exist.

◆ create_attribute() [2/2]

HF::Attributes::IAttribute* HF::Core::GroupTable::create_attribute ( uint8_t  uid)
inline

Create an attribute object that can hold the attribute with the given uid. (HF::Core::GroupTable::Server *,uint8_t)

See also
HF::Core::create_attribute (HF::Core::GroupTable::Server *,uint8_t)
Parameters
[in]uidattribute UID to create the attribute object for.
Return values
pointerto an attribute object
nullptrif the attribute UID does not exist.

Create an attribute object that can hold the attribute with the given uid. (HF::Core::GroupTable::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid.

Create an attribute object that can hold the attribute with the given uid. (HF::Core::Scheduling::Event::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceManagement::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceInformation::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BindManagement::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BatchProgramManagement::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::AttributeReporting::Server *,uint8_t)

See also
HF::Interfaces::create_attribute (HF::Interfaces::SimpleHumidity::Server *,uint8_t)
Parameters
[in]uidattribute UID to create the attribute object for.
Returns
pointer to an attribute object or nullptr if the attribute UID does not exist.

Create an attribute object that can hold the attribute with the given uid. (HF::Core::GroupTable::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid.

Create an attribute object that can hold the attribute with the given uid. (HF::Core::Scheduling::Event::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceManagement::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceInformation::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BindManagement::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BatchProgramManagement::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::AttributeReporting::Server *,uint8_t)

See also
HF::Interfaces::create_attribute (HF::Interfaces::SimpleTemperature::Server *,uint8_t)
Parameters
[in]uidattribute UID to create the attribute object for.
Return values
pointerto an attribute object
<tt>nullptr</tt>if the attribute UID does not exist.

Definition at line 108 of file simple_humidity.h.

109  {
110  return Interfaces::create_attribute(static_cast<SimpleHumidity::Server *>(nullptr),
111  uid);
112  }
HF::Attributes::IAttribute * create_attribute(uint8_t uid)
Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleHum...

◆ operator<<() [1/2]

std::ostream& operator<< ( std::ostream &  stream,
const HF::Core::GroupTable::CMD  command 
)

Convert the given command into a string and write it to the given stream.

Parameters
[in]streamout stream to write the string to.
[in]commandrole value to convert to a string.
Returns
stream

◆ operator<<() [2/2]

std::ostream& operator<< ( std::ostream &  stream,
const HF::Core::GroupTable::Attributes  attribute 
)

Convert the given attribute into a string and write it to the given stream.

Parameters
[in]streamout stream to write the string to.
[in]attributeattribute value to convert to a string.
Returns
stream