HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
HF::Devices::Node::Unit0< ITF > Struct Template Reference

Template to create Unit 0 for HAN-FUN node devices. More...

#include <devices.h>

+ Inheritance diagram for HF::Devices::Node::Unit0< ITF >:
+ Collaboration diagram for HF::Devices::Node::Unit0< ITF >:

Public Member Functions

 Unit0 (IDevice &device)
 Constructor. More...
 
DeviceInfo * device_info () const
 Get the pointer to the node's Device Information service. More...
 
DeviceInfo * device_info ()
 Get the pointer to the node's Device Information service. More...
 
AttrReporting * attribute_reporting () const
 Get the pointer to the node's Attribute Reporting service. More...
 
AttrReporting * attribute_reporting ()
 Get the pointer to the node's Attribute Reporting service. More...
 
DeviceMgt * device_management ()
 Get the pointer to the node's Device Management service. More...
 
DeviceMgt * device_management () const
 Get the pointer to the node's Device Management service. More...
 
- Public Member Functions inherited from HF::Unit0< IUnit0, ITF... >
 Unit0 (HF::IDevice &device)
 Constructor. More...
 
DeviceInfo * device_info () const
 Device Information service. More...
 
DeviceInfo * device_info ()
 Device Information service. More...
 
DeviceMgt * device_management () const
 Device Management service. More...
 
DeviceMgt * device_management ()
 Device Management service. More...
 
AttrReporting * attribute_reporting () const
 Attribute Reporting service. More...
 
AttrReporting * attribute_reporting ()
 Attribute Reporting service. More...
 
Common::Result handle (HF::Protocol::Packet &packet, Common::ByteArray &payload, uint16_t offset)
 Handle incoming messages from the network. More...
 
HF::Attributes::List attributes (Common::Interface itf, uint8_t pack_id, const HF::Attributes::UIDS &uids) const
 Return a list of all the attributes for a given interface, pack id and list of attributes UID's. More...
 
- Public Member Functions inherited from HF::Interfaces::Container< IUnit0, Proxy< ITF, IUnit0 >... >
 Container (IUnit0 &base)
 Constructor. More...
 
Common::Result handle (Protocol::Packet &packet, Common::ByteArray &payload, uint16_t offset)
 Handle incoming messages from the network. More...
 
void attributes (HF::Attributes::List &attr_list, Common::Interface itf, uint8_t pack_id, const HF::Attributes::UIDS &uids) const
 Return a list of all the attributes for a given interface, pack id and list of attributes UID's. More...
 
std::vector< Common::Interfaceinterfaces () const
 Return the list of interfaces present in the wrapper. More...
 
const std::tuple_element< N, interfaces_t >::type::base * get () const
 Retrieve a pointer to the N optional interface implemented by this unit. More...
 

Additional Inherited Members

- Public Types inherited from HF::Unit0< IUnit0, ITF... >
enum  Inferface
 Core Services indexs.
 
- Protected Member Functions inherited from HF::Interfaces::Container< IUnit0, Proxy< ITF, IUnit0 >... >
void for_each (std::function< void(HF::Interface &)> func) const
 Call the given function for all the interfaces. More...
 
void for_each (std::function< void(HF::Interface &)> func)
 Call the given function for all the interfaces. More...
 
void for_each (std::function< void(HF::Interface &)> func) const
 Helper template function to implement the HF::Units::Unit::for_each functionality. More...
 
void for_each (std::function< void(HF::Interface &)> func) const
 Helper template function to implement the HF::Units::Unit::for_each functionality. More...
 
HF::Interfacefind (uint16_t itf_uid) const
 Find the interface with the given UID. More...
 
HF::Interfacefind (uint16_t itf_uid) const
 Final template instantiation that finds the wrapped interface with the given UID. More...
 
void attributes_itf (HF::Attributes::List &attrs, Common::Interface itf, uint8_t pack_id, const HF::Attributes::UIDS &uids) const
 Helper function used to provide HF::Units::Unit::attributes functionality. More...
 
void attributes_itf (HF::Attributes::List &attrs, Common::Interface itf, uint8_t pack_id, const HF::Attributes::UIDS &uids) const
 Helper function used to provide HF::Units::Unit::attributes functionality. More...
 

Detailed Description

template<typename... ITF>
struct HF::Devices::Node::Unit0< ITF >

Template to create Unit 0 for HAN-FUN node devices.

Definition at line 230 of file devices.h.

Constructor & Destructor Documentation

◆ Unit0()

template<typename... ITF>
HF::Devices::Node::Unit0< ITF >::Unit0 ( IDevice device)
inline

Constructor.

Parameters
devicereference to the device this unit 0 belongs to.

Definition at line 264 of file devices.h.

264  :
265  HF::Unit0<IUnit0, ITF...>(device)
266  {}
Helper template class used to define custom Unit 0 for devices.
Definition: core.h:264

Member Function Documentation

◆ attribute_reporting() [1/2]

template<typename... ITF>
AttrReporting* HF::Devices::Node::Unit0< ITF >::attribute_reporting ( ) const
inline

Get the pointer to the node's Attribute Reporting service.

Returns
pointer to the node's Attribute Reporting service.

Definition at line 293 of file devices.h.

References HF::Unit0< IUnit0, ITF... >::attribute_reporting().

294  {
296  }
AttrReporting * attribute_reporting() const
Attribute Reporting service.
Definition: core.h:402
+ Here is the call graph for this function:

◆ attribute_reporting() [2/2]

template<typename... ITF>
AttrReporting* HF::Devices::Node::Unit0< ITF >::attribute_reporting ( )
inline

Get the pointer to the node's Attribute Reporting service.

Returns
pointer to the node's Attribute Reporting service.

Definition at line 303 of file devices.h.

References HF::Unit0< IUnit0, ITF... >::attribute_reporting().

304  {
306  }
AttrReporting * attribute_reporting() const
Attribute Reporting service.
Definition: core.h:402
+ Here is the call graph for this function:

◆ device_info() [1/2]

template<typename... ITF>
DeviceInfo* HF::Devices::Node::Unit0< ITF >::device_info ( ) const
inline

Get the pointer to the node's Device Information service.

Returns
pointer to the node's Device Information service.

Definition at line 273 of file devices.h.

References HF::Unit0< IUnit0, ITF... >::device_info().

274  {
275  return _Parent::device_info();
276  }
DeviceInfo * device_info() const
Device Information service.
Definition: core.h:362
+ Here is the call graph for this function:

◆ device_info() [2/2]

template<typename... ITF>
DeviceInfo* HF::Devices::Node::Unit0< ITF >::device_info ( )
inline

Get the pointer to the node's Device Information service.

Returns
pointer to the node's Device Information service.

Definition at line 283 of file devices.h.

References HF::Unit0< IUnit0, ITF... >::device_info().

284  {
285  return _Parent::device_info();
286  }
DeviceInfo * device_info() const
Device Information service.
Definition: core.h:362
+ Here is the call graph for this function:

◆ device_management() [1/2]

template<typename... ITF>
DeviceMgt* HF::Devices::Node::Unit0< ITF >::device_management ( )
inline

Get the pointer to the node's Device Management service.

Returns
pointer to the node's Device Management service.

Definition at line 313 of file devices.h.

References HF::Unit0< IUnit0, ITF... >::device_management().

314  {
316  }
DeviceMgt * device_management() const
Device Management service.
Definition: core.h:382
+ Here is the call graph for this function:

◆ device_management() [2/2]

template<typename... ITF>
DeviceMgt* HF::Devices::Node::Unit0< ITF >::device_management ( ) const
inline

Get the pointer to the node's Device Management service.

Returns
pointer to the node's Device Management service.

Definition at line 323 of file devices.h.

References HF::Unit0< IUnit0, ITF... >::device_management().

324  {
326  }
DeviceMgt * device_management() const
Device Management service.
Definition: core.h:382
+ Here is the call graph for this function:

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