HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
group_management.h File Reference

This file contains the definitions for the Group Management service. More...

#include "hanfun/protocol.h"
#include "hanfun/core.h"
#include "hanfun/core/group_table.h"
#include <string>
#include <map>
#include <forward_list>
+ Include dependency graph for group_management.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  HF::Core::GroupManagement::GroupAddress
 This class represents a group address. More...
 
struct  HF::Core::GroupManagement::Group
 This class represents a group of devices. More...
 
struct  HF::Core::GroupManagement::CreateMessage
 Message payload for a HF::GroupManagement::CREATE_CMD request. More...
 
struct  HF::Core::GroupManagement::CreateResponse
 Message payload for a HF::GroupManagement::CREATE_CMD response. More...
 
struct  HF::Core::GroupManagement::Message
 Parent class for the message payload for a HF::GroupManagement::ADD_CMD and HF::GroupManagement::REMOVE_CMD requests. More...
 
struct  HF::Core::GroupManagement::InfoResponse
 Message payload for a HF::GroupManagement::GET_INFO_CMD response. More...
 
struct  HF::Core::GroupManagement::NumberOfGroups
 Helper class to handle the Number Of Groups attribute for the Group Management service. More...
 
struct  HF::Core::GroupManagement::IEntries
 Device Management - Persistent Storage API. More...
 
struct  HF::Core::GroupManagement::Entries
 Default implementation of the persistence API. More...
 
struct  HF::Core::GroupManagement::Base
 Group Management Service : Parent. More...
 
class  HF::Core::GroupManagement::IServer
 Group Management Service : Server side implementation. More...
 
struct  HF::Core::GroupManagement::IGroupTable
 Interface to the HF::GroupTable API used to update the device's group tables entries on add/remove events. More...
 
struct  HF::Core::GroupManagement::GroupTableClient
 Default implementation of the IGroupTable interface. More...
 
class  HF::Core::GroupManagement::Server< _Entries, _GroupTable >
 Helper class used to implement custom functionality to the group management server side. More...
 
struct  HF::Core::GroupManagement::Client
 Group Management Service : Client side implementation. More...
 

Namespaces

 HF
 Top-level namespace for the HAN-FUN library.
 
 HF::Devices
 This is the top-level namespace for the HAN-FUN devices implementation.
 
 HF::Devices::Concentrator
 This is the namespace for the implementation of HAN-FUN Concentrator devices.
 
 HF::Core
 This is the top-level namespace for the Core Services and Interfaces implementation.
 
 HF::Core::GroupManagement
 This namespace contains the implementation of the Group Management service.
 

Typedefs

typedef Protocol::Address HF::Core::GroupManagement::Member
 This class represents a member of a group.
 
typedef GroupAddress HF::Core::GroupManagement::DeleteMessage
 Message payload for a HF::GroupManagement::DELETE_CMD request.
 
typedef Protocol::Response HF::Core::GroupManagement::DeleteResponse
 Message payload for a HF::GroupManagement::DELETE_CMD response.
 
typedef Message HF::Core::GroupManagement::AddMessage
 Message payload for a HF::GroupManagement::ADD_CMD request.
 
typedef Protocol::Response HF::Core::GroupManagement::AddResponse
 Message payload for a HF::GroupManagement::ADD_CMD response.
 
typedef Message HF::Core::GroupManagement::RemoveMessage
 Message payload for a HF::GroupManagement::REMOVE_CMD request.
 
typedef Protocol::Response HF::Core::GroupManagement::RemoveResponse
 Message payload for a HF::GroupManagement::REMOVE_CMD response.
 
typedef GroupAddress HF::Core::GroupManagement::InfoMessage
 Message payload for a HF::GroupManagement::GET_INFO_CMD request.
 

Enumerations

enum  HF::Core::GroupManagement::CMD {
  HF::Core::GroupManagement::CREATE_CMD = 0x01, HF::Core::GroupManagement::DELETE_CMD = 0x02, HF::Core::GroupManagement::ADD_CMD = 0x03, HF::Core::GroupManagement::REMOVE_CMD = 0x04,
  HF::Core::GroupManagement::GET_INFO_CMD = 0x05
}
 Command IDs. More...
 
enum  HF::Core::GroupManagement::Attributes { HF::Core::GroupManagement::NUMBER_OF_GROUPS_ATTR = 0x01 }
 Attributes. More...
 

Functions

HF::Attributes::IAttributeHF::Core::create_attribute (GroupManagement::IServer *server, uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. More...
 
HF::Attributes::IAttributeHF::Core::GroupManagement::create_attribute (uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. More...
 
std::ostream & operator<< (std::ostream &stream, const HF::Core::GroupManagement::CMD command)
 Convert the given command into a string and write it to the given stream. More...
 
std::ostream & operator<< (std::ostream &stream, const HF::Core::GroupManagement::Attributes attribute)
 Convert the given attribute into a string and write it to the given stream. More...
 

Detailed Description

This file contains the definitions for the Group Management service.

Version
1.5.3

For licensing information, please see the file 'LICENSE' in the root folder.

Initial development by Bithium S.A. [http://www.bithium.com]

Definition in file group_management.h.