HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
Batch Program Management

This module contains the classes that define and implement the Batch Program Management interface API. More...

+ Collaboration diagram for Batch Program Management:

Data Structures

struct  HF::Core::BatchProgramManagement::MaximumNumberOfEntries
 Helper class to handle the Maximum Number Of Entries attribute for the Batch Program Management interface. More...
 
struct  HF::Core::BatchProgramManagement::NumberOfEntries
 Helper class to handle the Number Of Entries attribute for the Batch Program Management interface. More...
 
struct  HF::Core::BatchProgramManagement::IEntries
 Batch Program Management - Persistent Storage API. More...
 
struct  HF::Core::BatchProgramManagement::Entries
 Default implementation of the persistence API. More...
 
struct  HF::Core::BatchProgramManagement::Base
 Batch Program Management Interfaces::Interface : Parent. More...
 
class  HF::Core::BatchProgramManagement::IServer
 Batch Program Management Interfaces::Interface : Server side implementation. More...
 
class  HF::Core::BatchProgramManagement::Server< _Entries >
 Helper template to declare a Batch Program server with custom entries backend. More...
 
struct  HF::Core::BatchProgramManagement::Client
 Batch Program Management Interfaces::Interface : Client side implementation. More...
 

Typedefs

typedef Server HF::Core::BatchProgramManagement::DefaultServer
 Helper typedef.
 

Enumerations

enum  HF::Core::BatchProgramManagement::CMD {
  HF::Core::BatchProgramManagement::DEFINE_PROGRAM_CMD = 0x01, HF::Core::BatchProgramManagement::INVOKE_PROGRAM_CMD = 0x02, HF::Core::BatchProgramManagement::DELETE_PROGRAM_CMD = 0x03, HF::Core::BatchProgramManagement::DELETE_ALL_PROGRAMS_CMD = 0x04,
  HF::Core::BatchProgramManagement::GET_PROGRAM_ACTIONS_CMD = 0x05
}
 Command IDs. More...
 
enum  HF::Core::BatchProgramManagement::Attributes { HF::Core::BatchProgramManagement::MAXIMUM_NUMBER_OF_ENTRIES_ATTR = 0x01, HF::Core::BatchProgramManagement::NUMBER_OF_ENTRIES_ATTR = 0x02 }
 Attributes. More...
 

Functions

HF::Attributes::IAttributeHF::Core::create_attribute (BatchProgramManagement::IServer *server, uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. More...
 
HF::Attributes::IAttributeHF::Core::BatchProgramManagement::create_attribute (uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. (HF::Core::BatchProgramManagement::IServer *,uint8_t) More...
 
std::ostream & operator<< (std::ostream &stream, const HF::Core::BatchProgramManagement::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::BatchProgramManagement::Attributes attribute)
 Convert the given attribute into a string and write it to the given stream. More...
 

Detailed Description

This module contains the classes that define and implement the Batch Program Management interface API.

Enumeration Type Documentation

◆ Attributes

Attributes.

Enumerator
MAXIMUM_NUMBER_OF_ENTRIES_ATTR 

Maximum Number Of Entries attribute UID.

NUMBER_OF_ENTRIES_ATTR 

Number Of Entries attribute UID.

Definition at line 78 of file batch_program_management.h.

◆ CMD

Command IDs.

Enumerator
DEFINE_PROGRAM_CMD 

Define Program command UID.

INVOKE_PROGRAM_CMD 

Invoke Program command UID.

DELETE_PROGRAM_CMD 

Delete Program command UID.

DELETE_ALL_PROGRAMS_CMD 

Delete All Programs command UID.

GET_PROGRAM_ACTIONS_CMD 

Get Program Actions command UID.

Definition at line 67 of file batch_program_management.h.

Function Documentation

◆ create_attribute() [1/2]

HF::Attributes::IAttribute* HF::Core::create_attribute ( BatchProgramManagement::IServer server,
uint8_t  uid 
)

Create an attribute object that can hold the attribute with the given uid.

If server is not equal to nullptr then initialize it with the current value.

Parameters
[in]serverpointer to the object to read the current value from.
[in]uidattribute's UID to create the attribute object for.
Returns
pointer to an attribute object or nullptr if the attribute UID does not exist.

◆ create_attribute() [2/2]

HF::Attributes::IAttribute* HF::Core::BatchProgramManagement::create_attribute ( uint8_t  uid)
inline

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BatchProgramManagement::IServer *,uint8_t)

See also
HF::Core::create_attribute (HF::Core::BatchProgramManagement::IServer *,uint8_t)
Parameters
[in]uidattribute %UID to create the attribute object for.
Return values
pointerto an attribute object
nullptrif the attribute %UID does not exist.

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BatchProgramManagement::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::AttributeReporting::Server *,uint8_t)

See also
HF::Interfaces::create_attribute (HF::Interfaces::SimpleHumidity::Server *,uint8_t)
Parameters
[in]uidattribute UID to create the attribute object for.
Returns
pointer to an attribute object or nullptr if the attribute UID does not exist.

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BatchProgramManagement::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::AttributeReporting::Server *,uint8_t)

See also
HF::Interfaces::create_attribute (HF::Interfaces::SimpleTemperature::Server *,uint8_t)
Parameters
[in]uidattribute UID to create the attribute object for.
Return values
pointerto an attribute object
<tt>nullptr</tt>if the attribute UID does not exist.

Definition at line 108 of file simple_humidity.h.

109  {
110  return Interfaces::create_attribute(static_cast<SimpleHumidity::Server *>(nullptr),
111  uid);
112  }
HF::Attributes::IAttribute * create_attribute(uint8_t uid)
Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleHum...

◆ operator<<() [1/2]

std::ostream& operator<< ( std::ostream &  stream,
const HF::Core::BatchProgramManagement::CMD  command 
)

Convert the given command into a string and write it to the given stream.

Parameters
[in]streamout stream to write the string to.
[in]commandrole value to convert to a string.
Returns
stream

◆ operator<<() [2/2]

std::ostream& operator<< ( std::ostream &  stream,
const HF::Core::BatchProgramManagement::Attributes  attribute 
)

Convert the given attribute into a string and write it to the given stream.

Parameters
[in]streamout stream to write the string to.
[in]attributeattribute value to convert to a string.
Returns
stream