![]() |
HAN-FUN API
1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
|
This is the parent class for the HAN-FUN Concentrator devices implementation. More...
#include <devices.h>
Public Member Functions | |
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... | |
void | receive (Protocol::Packet &packet, Common::ByteArray &payload, uint16_t offset) |
Callback to deliver a packet received from the transport layer. 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 | |
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 Concentrator::IUnit0 * | unit0 () const =0 |
Get the unit 0 used by this concentrator 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... | |
Protected Attributes | |
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. | |
This is the parent class for the HAN-FUN Concentrator devices implementation.
|
inlinevirtual |
Return the device address on the HAN-FUN network, when the device is registered, or HF_BROADCAST_ADDR
otherwise.
HF_BROADCAST_ADDR
otherwise. Implements HF::IDevice.
|
virtual |
Callback to report that a new transport link
was been created to a remote device.
This link can then be used by the local end-point to send messages to the remote end-point.
[in] | link | pointer to the created link. |
Implements HF::Transport::Endpoint.
|
virtual |
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.
At the time of this method call the link MUST not be used to send any further messages to the remote end-point.
[in] | link | pointer to the link disconnected. |
Implements HF::Transport::Endpoint.
|
protectedvirtual |
Return the link that can be used to send a packet to the device with the given address.
[in] | addr | the address of the device to send the packet to. |
nullptr
otherwise; Implements HF::Devices::AbstractDevice.
|
virtual |
Callback to deliver a packet received from the transport layer.
[in] | packet | reference to the received packet. |
[in] | payload | reference a ByteArray containing the received data. |
[in] | offset | offset from where the received data starts on the payload byte array buffer. |
Reimplemented from HF::Devices::AbstractDevice.
Reimplemented in Base.
|
protectedvirtual |
Route the given packet to the corresponding device.
[in] | packet | reference for the packet to route. |
[in] | payload | reference to the ByteArray containing the packet payload. |
[in] | offset | offset from where the packet data starts. |
|
protectedpure virtual |
Get the unit 0 used by this concentrator device.
Implements HF::IDevice.
Implemented in HF::Devices::Concentrator::Abstract< CoreServices >, HF::Devices::Concentrator::Abstract< Unit0 >, HF::Devices::Concentrator::Abstract< BaseUnit0 >, HF::Core::DeviceManagement::IServer, and HF::Core::BindManagement::IServer.