HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
HF::Core::DeviceManagement::AbstractServer Struct Reference

Device Management interface : Server side default implementation. More...

#include <device_management.h>

+ Inheritance diagram for HF::Core::DeviceManagement::AbstractServer:
+ Collaboration diagram for HF::Core::DeviceManagement::AbstractServer:

Protected Member Functions

 AbstractServer (Unit0 &unit)
 Constructor. More...
 
Events
virtual Common::Result register_device (Protocol::Packet &packet, Common::ByteArray &payload, uint16_t offset)
 This method is called when a registration message is received.
 
virtual Common::Result deregister_device (Protocol::Packet &packet, Common::ByteArray &payload, uint16_t offset)
 This method is called when a de-registration message is received.
 
Commands
virtual bool authorized (uint8_t member, DevicePtr &source, DevicePtr &destination)
 This method serves to indicate if a given member of the interface can be used by the source device affecting the destination device configuration on the system. More...
 
virtual Common::Result deregister (DevicePtr &device)
 De-register the device that corresponds to the given Device entry. More...
 
- Protected Member Functions inherited from HF::Core::DeviceManagement::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...
 

Additional Inherited Members

- Public Member Functions inherited from HF::Core::DeviceManagement::IServer
HF::Devices::Concentrator::IUnit0unit0 () 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 IEntriesentries () const =0
 Get a reference to the current object implementing the persistence API, for the device information. More...
 
virtual SessionManagement::IServersessions ()=0
 Reference to the session management API. More...
 
virtual uint16_t next_address ()
 Return next available address for registering a device. More...
 
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...
 
- 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
- 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.
 

Detailed Description

Device Management interface : Server side default implementation.

Definition at line 686 of file device_management.h.

Constructor & Destructor Documentation

◆ AbstractServer()

HF::Core::DeviceManagement::AbstractServer::AbstractServer ( Unit0 unit)
inlineprotected

Constructor.

Parameters
[in]unitreference to the unit containing this service.

Definition at line 701 of file device_management.h.

701  : IServer(unit)
702  {}
Units::IUnit * unit(uint8_t id) const
Return pointer to the unit with the given id.
IServer(Unit0 &unit)
Constructor.

Member Function Documentation

◆ authorized()

virtual bool HF::Core::DeviceManagement::AbstractServer::authorized ( uint8_t  member,
DevicePtr source,
DevicePtr destination 
)
protectedvirtual

This method serves to indicate if a given member of the interface can be used by the source device affecting the destination device configuration on the system.

Parameters
[in]memberinterface member UID.
[in]sourcedevice entry for the requesting device.
[in]destinationdevice entry for the affected device.
Return values
truethe operation is allowed,
falseotherwise.

◆ deregister()

virtual Common::Result HF::Core::DeviceManagement::AbstractServer::deregister ( DevicePtr device)
protectedvirtual

De-register the device that corresponds to the given Device entry.

Warning
this method by-passes the authorization scheme.
Parameters
[in]devicepointer to the device entry to de-register.
Returns
the result of the destroy method.

Referenced by DeviceManagement::Server::deregister().

+ Here is the caller graph for this function:

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