![]() |
HAN-FUN API
1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
|
Device Management interface : Server side API. More...
#include <device_management.h>
Public Member Functions | |
HF::Devices::Concentrator::IUnit0 & | unit0 () const |
Return a reference to the unit that this service belongs to. More... | |
DevicePtr | entry (uint16_t address) const |
Return the Device entry for the given address. More... | |
DevicePtr | entry (const HF::UID::UID &uid) const |
Return the Device entry for the given UID. More... | |
virtual IEntries & | entries () const =0 |
Get a reference to the current object implementing the persistence API, for the device information. More... | |
virtual SessionManagement::IServer & | sessions ()=0 |
Reference to the session management API. More... | |
virtual uint16_t | next_address () |
Return next available address for registering a device. More... | |
Events | |
virtual void | registered (DevicePtr &device) |
Indicate that a device has been registered. More... | |
virtual void | deregistered (DevicePtr &device) |
Indicate that a device has been de-registered. More... | |
![]() | |
Interface::Role | role () const |
Return the Interface::Role this interface implements. More... | |
![]() | |
void | receive (HF::Protocol::Packet &packet, HF::Common::ByteArray &payload, uint16_t offset) |
Callback to deliver a packet received from the transport layer. More... | |
bool | has_bind (uint16_t dev_addr_1, uint16_t dev_addr_2) |
Check if bind exists. More... | |
uint8_t | bind (uint16_t dev_addr_1, uint16_t dev_addr_2) |
Create a new bind entry. More... | |
bool | unbind (uint16_t dev_addr_1, uint16_t dev_addr_2) |
Remove the binding entry for the given devices. More... | |
![]() | |
CoreServices * | unit0 () const |
Get the unit 0 used by this concentrator device. More... | |
![]() | |
uint16_t | address () const |
Return the device address on the HAN-FUN network, when the device is registered, or HF_BROADCAST_ADDR otherwise. More... | |
void | connected (HF::Transport::Link *link) |
Callback to report that a new transport link was been created to a remote device. More... | |
void | disconnected (HF::Transport::Link *link) |
Callback to the report that the given transport link no longer is valid and MUST not be used to send messages to the corresponding end-point. More... | |
![]() | |
const IUnits & | units () const |
Return the list of units registered in this device. More... | |
void | add (Units::IUnit *unit) |
Add unit to devices unit lists. More... | |
void | remove (Units::IUnit *unit) |
Remove unit from device's unit list. More... | |
Units::IUnit * | unit (uint8_t id) const |
Return pointer to the unit with the given id. More... | |
void | send (Protocol::Packet &packet) |
Send given packet into the HAN-FUN network. More... | |
void | periodic (uint32_t time) |
Handle periodic processing. More... | |
Events |
Protected Member Functions | |
IServer (Unit0 &unit) | |
Constructor. More... | |
![]() | |
ServiceRole (Unit0 &unit) | |
Constructor. More... | |
![]() | |
HF::Transport::Link * | link (uint16_t addr) const |
Return the link that can be used to send a packet to the device with the given address. More... | |
virtual void | route_packet (Protocol::Packet &packet, Common::ByteArray &payload, uint16_t offset) |
Route the given packet to the corresponding device. More... | |
![]() | |
virtual bool | to_local (const Protocol::Packet &packet) const |
Check if the given packet is for this device. More... | |
bool | from_local (const Protocol::Packet &packet) const |
Check if the given packet is from the local device. More... | |
bool | from_remote (const Protocol::Packet &packet) |
Check if the given packet is from the a remote device. More... | |
bool | is_registered () |
Check if the device has a valid, i.e. More... | |
Additional Inherited Members | |
![]() | |
Common::SimpleList< Transport::Link * > | _links |
List of links present in this concentrator. | |
![]() | |
uint8_t | next_reference |
Last reference number used to send a packet. | |
IUnits | _units |
List containing pointers to the units present in the device. | |
Protocol::Filters::ResponseRequired | response_filter |
Support for generating missing responses for messages. | |
Device Management interface : Server side API.
Definition at line 558 of file device_management.h.
|
inlineprotected |
Constructor.
[in] | unit | reference to the unit containing this service. |
Definition at line 679 of file device_management.h.
|
inlinevirtual |
Indicate that a device has been de-registered.
[in] | device | pointer to the device entry corresponding to the de-registered device. |
Definition at line 664 of file device_management.h.
References UNUSED.
|
pure virtual |
Get a reference to the current object implementing the persistence API, for the device information.
Implemented in HF::Core::DeviceManagement::Server< _Entries >, and HF::Core::DeviceManagement::Server< Entries >.
Referenced by entry(), and next_address().
DevicePtr HF::Core::DeviceManagement::IServer::entry | ( | uint16_t | address | ) | const |
|
inline |
Return the Device entry for the given UID.
[in] | uid | the device UID. |
a | pointer the Device entry associated with the given UID, |
nullptr | if the entry does not exist. |
Definition at line 594 of file device_management.h.
References entries(), and HF::Core::DeviceManagement::IEntries::find().
|
inlinevirtual |
Return next available address for registering a device.
Reimplemented in DeviceManagement::Server.
Definition at line 636 of file device_management.h.
References entries(), and HF::Core::DeviceManagement::IEntries::next_address().
Referenced by DeviceManagement::Server::next_address().
|
inlinevirtual |
Indicate that a device has been registered.
[in] | device | pointer to the device entry corresponding to the registered device. |
Definition at line 653 of file device_management.h.
References UNUSED.
|
pure virtual |
Reference to the session management API.
Implemented in HF::Core::DeviceManagement::Server< _Entries >, and HF::Core::DeviceManagement::Server< Entries >.
|
virtual |
Return a reference to the unit that this service belongs to.
This is the same reference as AbstractService::unit, but static casted to allow access to the the other interfaces.
Implements HF::Devices::Concentrator::AbstractBase.