HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
HF::Core::BindManagement::Server< _Entries > Struct Template Reference

Helper class used to implement custom functionality to the bind management server side. More...

#include <bind_management.h>

+ Inheritance diagram for HF::Core::BindManagement::Server< _Entries >:
+ Collaboration diagram for HF::Core::BindManagement::Server< _Entries >:

Public Member Functions

 Server (Unit0 &unit)
 Constructor. More...
 
Containerentries () const
 Reference to the persistent storage implementation. More...
 
SessionMgrsessions ()
 Reference to the session management API. More...
 
void send (const Protocol::Address &addr, Protocol::Message &message)
 Send message msg to the network address given by addr. More...
 
- Public Member Functions inherited from HF::Core::BindManagement::AbstractServer
Common::Result add (const Protocol::Address &source, const Protocol::Address &destination, const Common::Interface &itf)
 Create a new bind entry in the database. More...
 
Common::Result remove (const Protocol::Address &source, const Protocol::Address &destination, const Common::Interface &itf)
 Remove a bind entry from the database. More...
 
- Public Member Functions inherited from HF::Core::BindManagement::IServer
HF::Devices::Concentrator::IUnit0unit0 () const
 Return a reference to the unit that this service belongs to. More...
 
- Public Member Functions inherited from HF::Core::ServiceRole< Base, HF::Interface::SERVER_ROLE >
Interface::Role role () const
 Return the Interface::Role this interface implements. More...
 
- Public Member Functions inherited from Base
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...
 
- Public Member Functions inherited from HF::Devices::Concentrator::Abstract< CoreServices >
CoreServices * unit0 () const
 Get the unit 0 used by this concentrator device. More...
 
- Public Member Functions inherited from HF::Devices::Concentrator::AbstractBase
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...
 
- Public Member Functions inherited from HF::Devices::AbstractDevice
const IUnitsunits () 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::IUnitunit (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
- Public Member Functions inherited from HF::Core::SessionManagement::Server< _Entries >
Container & entries () const
 Return the container for the service entries. More...
 
- Public Member Functions inherited from HF::Core::SessionManagement::AbstractServer
 AbstractServer ()
 Constructor.
 
void start_session (uint16_t address)
 Start a session for the device with the given address. More...
 
void end_session (uint16_t address)
 Terminate the session associated with the device with the given address. More...
 
bool exists (uint16_t address) const
 Check if a session for the device with the given address exists. More...
 
bool is_valid (uint16_t address) const
 Check if the session for the device with the given address is valid, i.e., the underling entries have not been modified since the start of the session. More...
 
void invalidate ()
 Invalidate all sessions.
 

Protected Member Functions

Containerentries () const
 Return the container for the service entries. More...
 
- Protected Member Functions inherited from HF::Core::BindManagement::AbstractServer
 AbstractServer (Unit0 &unit)
 Constructor. More...
 
- Protected Member Functions inherited from HF::Core::BindManagement::IServer
 IServer (Unit0 &unit)
 Constructor. More...
 
- Protected Member Functions inherited from HF::Core::ServiceRole< Base, HF::Interface::SERVER_ROLE >
 ServiceRole (Unit0 &unit)
 Constructor. More...
 
- Protected Member Functions inherited from HF::Devices::Concentrator::AbstractBase
HF::Transport::Linklink (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...
 
- Protected Member Functions inherited from HF::Devices::AbstractDevice
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 Member Functions inherited from HF::Core::SessionManagement::Server< _Entries >
 Server (const Server &other)
 Copy-Constructor. More...
 
uint16_t entries_size () const
 Get the number of entries present in the container. More...
 
Common::Result entries (uint16_t offset, uint8_t count, Common::ByteArray &payload)
 Create a GetEntriesResponse message message with, count entries starting from the given offset and serialize the created message into the given byte array in payload. More...
 
- Protected Member Functions inherited from HF::Core::SessionManagement::AbstractServer
Common::Result handle_command (CMD cmd, Protocol::Packet &packet, Common::ByteArray &payload, uint16_t offset=0)
 Handle command request/response messages. More...
 
iterator find (uint16_t address)
 Find the session associated with the given device address. More...
 
const_iterator find (uint16_t address) const
 Find the session associated with the given device address. More...
 
uint16_t payload_size (CMD cmd) const
 Get the minimum number of bytes necessary to pack/unpack a message of the given command. More...
 
Common::Result check_offset (uint16_t offset, uint8_t &count, uint16_t size) const
 Check if the given offset is valid and adjust the count value if necessary. More...
 
Common::Result check_session (uint16_t address, Common::ByteArray &payload) const
 Check if a session for the given device address exists and if it is valid. More...
 

Protected Attributes

_Entries _entries
 Bind entries database. More...
 
- Protected Attributes inherited from HF::Devices::Concentrator::AbstractBase
Common::SimpleList< Transport::Link * > _links
 List of links present in this concentrator.
 
- Protected Attributes inherited from HF::Devices::AbstractDevice
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.
 
- Protected Attributes inherited from HF::Core::SessionManagement::AbstractServer
Container sessions
 Session's database.
 

Detailed Description

template<typename _Entries = BindManagement::Entries>
struct HF::Core::BindManagement::Server< _Entries >

Helper class used to implement custom functionality to the bind management server side.

Definition at line 655 of file bind_management.h.

Member Function Documentation

◆ entries()

template<typename _Entries = BindManagement::Entries>
Container& HF::Core::SessionManagement::Server< _Entries >::entries
inlineprotected

Return the container for the service entries.

Returns
reference to the object containing the wrapped service entries.

Definition at line 607 of file session_management.h.

608  {
609  return const_cast<Container &>(_entries);
610  }
_Entries _entries
Bind entries database.

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