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 implement the Device Management service. More...

+ Collaboration diagram for Device Management:

Data Structures

struct  HF::Core::DeviceManagement::Unit
 Unit Entry. More...
 
struct  HF::Core::DeviceManagement::Device
 Device Entry. More...
 
struct  HF::Core::DeviceManagement::RegisterMessage
 Register command message. More...
 
struct  HF::Core::DeviceManagement::RegisterResponse
 Register command response. More...
 
struct  HF::Core::DeviceManagement::DeregisterMessage
 De-register command message. More...
 
struct  HF::Core::DeviceManagement::IEntries
 Device Management - Persistent Storage API. More...
 
class  HF::Core::DeviceManagement::Base
 Parent class for the Device Management interface implementation. More...
 
class  HF::Core::DeviceManagement::Client
 Device Management interface : Client side. More...
 
struct  HF::Core::DeviceManagement::IServer
 Device Management interface : Server side API. More...
 
struct  HF::Core::DeviceManagement::AbstractServer
 Device Management interface : Server side default implementation. More...
 
struct  HF::Core::DeviceManagement::Entries
 Default implementation of the persistence API. More...
 
struct  HF::Core::DeviceManagement::Server< _Entries >
 Helper class used to implement custom functionality to the device management server side. More...
 

Enumerations

enum  HF::Core::DeviceManagement::CMD {
  HF::Core::DeviceManagement::REGISTER_CMD = 0x01, HF::Core::DeviceManagement::DEREGISTER_CMD = 0x02, HF::Core::DeviceManagement::START_SESSION_CMD = 0x03, HF::Core::DeviceManagement::END_SESSION_CMD = 0x04,
  HF::Core::DeviceManagement::GET_ENTRIES_CMD = 0x05
}
 Commands. More...
 
enum  HF::Core::DeviceManagement::Attributes { HF::Core::DeviceManagement::NUMBER_OF_ENTRIES_ATTR = 0x01 }
 Attributes. More...
 

Functions

HF::Attributes::IAttributeHF::Core::create_attribute (HF::Core::DeviceManagement::IServer *server, uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. More...
 
HF::Attributes::IAttributeHF::Core::DeviceManagement::create_attribute (uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceManagement::Server *,uint8_t) More...
 
std::ostream & operator<< (std::ostream &stream, const HF::Core::DeviceManagement::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::DeviceManagement::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 implement the Device Management service.

Enumeration Type Documentation

◆ Attributes

Attributes.

Enumerator
NUMBER_OF_ENTRIES_ATTR 

Number of entries attribute.

Definition at line 94 of file device_management.h.

95  {
96  NUMBER_OF_ENTRIES_ATTR = 0x01,
97  __LAST_ATTR__ = NUMBER_OF_ENTRIES_ATTR
98  } Attributes;

◆ CMD

Commands.

Enumerator
REGISTER_CMD 

Register device command.

DEREGISTER_CMD 

De-register device command.

START_SESSION_CMD 

Start Session Read Registration Info.

END_SESSION_CMD 

End Session Read Registration Info.

GET_ENTRIES_CMD 

Get Entries Command.

Definition at line 83 of file device_management.h.

84  {
85  REGISTER_CMD = 0x01,
86  DEREGISTER_CMD = 0x02,
87  START_SESSION_CMD = 0x03,
88  END_SESSION_CMD = 0x04,
89  GET_ENTRIES_CMD = 0x05,
90  __LAST_CMD__ = GET_ENTRIES_CMD
91  } CMD;
End Session Read Registration Info.
Start Session Read Registration Info.

Function Documentation

◆ create_attribute() [1/2]

HF::Attributes::IAttribute* HF::Core::create_attribute ( HF::Core::DeviceManagement::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::DeviceManagement::create_attribute ( uint8_t  uid)
inline

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

See also
HF::Core::create_attribute (HF::Core::DeviceManagement::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.

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::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::DeviceManagement::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::DeviceManagement::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