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

This file contains the definitions for the core Attribute Reporting Service in HAN-FUN. More...

#include "hanfun/common.h"
#include "hanfun/core.h"
#include "hanfun/attributes.h"
+ Include dependency graph for attribute_reporting.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::AttributeReporting::Reference
 Report Identifier. More...
 
struct  HF::Core::AttributeReporting::Entry
 Parent class for all report rule entries. More...
 
struct  HF::Core::AttributeReporting::Rule
 Parent class for all report rules. More...
 
struct  HF::Core::AttributeReporting::Periodic::Entry
 This class represents an entry in a periodic rule. More...
 
struct  HF::Core::AttributeReporting::Periodic::Rule
 This class represents a periodic rule for attribute reporting. More...
 
struct  HF::Core::AttributeReporting::Event::Field
 Entry field for a given attribute. More...
 
struct  HF::Core::AttributeReporting::Event::Entry
 Report event entry. More...
 
struct  HF::Core::AttributeReporting::Event::Rule
 Report event rule. More...
 
struct  HF::Core::AttributeReporting::Report::Abstract
 Parent call for all reports. More...
 
struct  HF::Core::AttributeReporting::Report::Entry
 Parent class for all notification entries. More...
 
struct  HF::Core::AttributeReporting::Report::CreateMessage
 This message is used to create a reporting rule. More...
 
struct  HF::Core::AttributeReporting::Report::DeleteMessage
 This message is used to delete a reporting rule. More...
 
struct  HF::Core::AttributeReporting::Report::AddEntryMessage
 Parent class for the messages to create reporting rule entries. More...
 
struct  HF::Core::AttributeReporting::Report::UpdateIntervalMessage
 This message is used to update the report interval. More...
 
struct  HF::Core::AttributeReporting::Report::Periodic
 Periodic report notification. More...
 
struct  HF::Core::AttributeReporting::Report::Periodic::Entry
 Periodic notification entry. More...
 
struct  HF::Core::AttributeReporting::Report::Periodic::CreateMessage
 Create a Periodic rule message. More...
 
struct  HF::Core::AttributeReporting::Report::Periodic::AddEntryMessage
 Add entries into a periodic rule message. More...
 
struct  HF::Core::AttributeReporting::Report::Event
 Event type notification. More...
 
struct  HF::Core::AttributeReporting::Report::Event::Field
 Field for the entries in event notification. More...
 
struct  HF::Core::AttributeReporting::Report::Event::Entry
 Event notification entry. More...
 
struct  HF::Core::AttributeReporting::Report::Event::CreateMessage
 Create a Event rule message. More...
 
struct  HF::Core::AttributeReporting::Report::Event::AddEntryMessage
 Add entries into a event rule message. More...
 
struct  HF::Core::AttributeReporting::Client
 Attribute Reporting - Client Role. More...
 
struct  HF::Core::AttributeReporting::AbstractClient
 Helper class for using the Attribute Reporting service. More...
 
struct  HF::Core::AttributeReporting::IServer
 Attribute Reporting - Server Role. More...
 
struct  HF::Core::AttributeReporting::Server
 Attribute Reporting - Server Role. More...
 

Namespaces

 HF
 Top-level namespace for the HAN-FUN library.
 
 HF::Core
 This is the top-level namespace for the Core Services and Interfaces implementation.
 
 HF::Core::AttributeReporting
 This namespace contains the classes that implement the Attribute Reporting service.
 
 HF::Core::AttributeReporting::Periodic
 This namespace contains the classes to handle the attribute reporting periodic functionality.
 
 HF::Core::AttributeReporting::Event
 Namespace for Attribute Reporting based on events.
 
 HF::Core::AttributeReporting::Report
 This namespace contains the classes that implement the attribute reporting notifications.
 

Enumerations

enum  HF::Core::AttributeReporting::CMD {
  HF::Core::AttributeReporting::PERIODIC_REPORT_CMD = 0x01, HF::Core::AttributeReporting::EVENT_REPORT_CMD = 0x02, HF::Core::AttributeReporting::CREATE_PERIODIC_CMD = 0x01, HF::Core::AttributeReporting::CREATE_EVENT_CMD = 0x02,
  HF::Core::AttributeReporting::ADD_PERIODIC_ENTRY_CMD = 0x03, HF::Core::AttributeReporting::ADD_EVENT_ENTRY_CMD = 0x04, HF::Core::AttributeReporting::DELETE_REPORT_CMD = 0x05, HF::Core::AttributeReporting::GET_PERIODIC_ENTRIES = 0x06,
  HF::Core::AttributeReporting::GET_EVENT_ENTRIES = 0x07, HF::Core::AttributeReporting::UPDATE_INTERVAL_CMD = 0x08
}
 Commands. More...
 
enum  HF::Core::AttributeReporting::Attributes { HF::Core::AttributeReporting::REPORT_COUNT_ATTR = 0x01, HF::Core::AttributeReporting::PERIODIC_REPORT_COUNT_ATTR = 0x02, HF::Core::AttributeReporting::EVENT_REPORT_COUNT_ATTR = 0x03 }
 Attributes. More...
 
enum  HF::Core::AttributeReporting::Type { HF::Core::AttributeReporting::PERIODIC = 0x00, HF::Core::AttributeReporting::EVENT = 0x01 }
 Types of reports send from the server to the client. More...
 
enum  HF::Core::AttributeReporting::Event::Type { HF::Core::AttributeReporting::Event::COV = 0x00, HF::Core::AttributeReporting::Event::HT = 0x01, HF::Core::AttributeReporting::Event::LT = 0x02, HF::Core::AttributeReporting::Event::EQ = 0x03 }
 Types of events. More...
 

Functions

HF::Attributes::IAttributeHF::Core::create_attribute (HF::Core::AttributeReporting::IServer *server, uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. More...
 
Protocol::Message * HF::Core::AttributeReporting::create (Protocol::Address &destination)
 Create a new attribute reporting event rule for the device with the given address. More...
 
Protocol::Message * HF::Core::AttributeReporting::create (Protocol::Address &destination, uint32_t interval)
 Create a new attribute reporting periodic rule for the device with the given address and the given interval. More...
 
Protocol::Message * HF::Core::AttributeReporting::destroy (Type type, uint8_t report_id)
 Remove the rule with the given type and the given report_id. More...
 
Protocol::Message * HF::Core::AttributeReporting::destroy (Reference report)
 Remove the rule for the given report reference. More...
 
Protocol::Message * HF::Core::AttributeReporting::add (Reference report, periodic_iterator begin, periodic_iterator end)
 Add the periodic entries from start to end into the rule with the given report reference. More...
 
Protocol::Message * HF::Core::AttributeReporting::update (Reference report, uint32_t new_interval)
 Change the Update Interval for the specified report. More...
 
HF::Attributes::IAttributeHF::Core::AttributeReporting::create_attribute (uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. (HF::Core::AttributeReporting::Server *,uint8_t) More...
 
std::ostream & operator<< (std::ostream &stream, const HF::Core::AttributeReporting::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::AttributeReporting::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 core Attribute Reporting Service in HAN-FUN.

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 attribute_reporting.h.