HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
Scheduling Services (Common)

This module contains the common classes for the scheduling services API. More...

+ Collaboration diagram for Scheduling Services (Common):

Data Structures

struct  HF::Core::Scheduling::MaximumNumberOfEntries
 Helper class to handle the Maximum Number Of Entries attribute for the scheduling services. More...
 
struct  HF::Core::Scheduling::NumberOfEntries
 Helper class to handle the Number Of Entries attribute for the scheduling services. More...
 
struct  HF::Core::Scheduling::Status
 Helper class to handle the Status attribute for the scheduling services. More...
 
struct  HF::Core::Scheduling::Entry< _Type >
 Base class for scheduling services entries. More...
 
struct  HF::Core::Scheduling::ActivateScheduler
 Message payload for a Scheduling::ACTIVATE_SCHEDULER_CMD request. More...
 
struct  HF::Core::Scheduling::DefineEventResponse
 Response message payload for a Scheduling::DEFINE_EVENT_CMD request. More...
 
struct  HF::Core::Scheduling::UpdateStatus
 Message payload for a Scheduling::UPDATE_STATUS_CMD request. More...
 
struct  HF::Core::Scheduling::GetEntry
 Message payload for a Scheduling::GET_ENTRY_CMD request. More...
 
struct  HF::Core::Scheduling::GetEntryResponse< _Type >
 Response message payload for a Scheduling::GET_ENTRY_CMD request. More...
 
struct  HF::Core::Scheduling::IEntries< _Type >
 Scheduling - Persistent Storage API. More...
 
struct  HF::Core::Scheduling::Entries< _Type >
 Default implementation of the persistence API. More...
 
struct  HF::Core::Scheduling::Base< _ITF, _Parent >
 Scheduling Service : Parent. More...
 
class  HF::Core::Scheduling::IServer
 Scheduling Service : Server side implementation. More...
 
class  HF::Core::Scheduling::IClient
 Scheduling Service : Client side implementation. More...
 

Typedefs

typedef Protocol::Response HF::Core::Scheduling::ActivateSchedulerResponse
 Response message payload for a Scheduling::ACTIVATE_SCHEDULER_CMD request.
 
typedef DefineEventResponse HF::Core::Scheduling::UpdateStatusResponse
 Response message payload for a Scheduling::UPDATE_STATUS_CMD request.
 
typedef GetEntry HF::Core::Scheduling::DeleteEvent
 Message payload for a Scheduling::DELETE_CMD request.
 
typedef DefineEventResponse HF::Core::Scheduling::DeleteEventResponse
 Response message payload for a Scheduling::DELETE_CMD request.
 
typedef HF::Protocol::Response HF::Core::Scheduling::DeleteAllResponse
 Response Message payload for a Scheduling::DELETE_ALL_CMD request.
 

Enumerations

enum  HF::Core::Scheduling::CMD {
  HF::Core::Scheduling::ACTIVATE_SCHEDULER_CMD = 0x01, HF::Core::Scheduling::DEFINE_EVENT_CMD = 0x02, HF::Core::Scheduling::UPDATE_STATUS_CMD = 0x03, HF::Core::Scheduling::GET_ENTRY_CMD = 0x04,
  HF::Core::Scheduling::DELETE_CMD = 0x05, HF::Core::Scheduling::DELETE_ALL_CMD = 0x06
}
 Command IDs. More...
 
enum  HF::Core::Scheduling::Attributes { HF::Core::Scheduling::MAXIMUM_NUMBER_OF_ENTRIES_ATTR = 0x01, HF::Core::Scheduling::NUMBER_OF_ENTRIES_ATTR = 0x02, HF::Core::Scheduling::STATUS_ATTR = 0x03 }
 Attributes. More...
 

Functions

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

Detailed Description

This module contains the common classes for the scheduling services 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.

STATUS_ATTR 

Status attribute UID.

Definition at line 103 of file scheduling.h.

104  {
106  NUMBER_OF_ENTRIES_ATTR = 0x02,
107  STATUS_ATTR = 0x03,
108  __LAST_ATTR__ = STATUS_ATTR
109  } Attributes;
Number Of Entries attribute UID.
Definition: scheduling.h:106
Status attribute UID.
Definition: scheduling.h:107
Attributes
Attributes.
Definition: scheduling.h:103
Maximum Number Of Entries attribute UID.
Definition: scheduling.h:105

◆ CMD

Command IDs.

Enumerator
ACTIVATE_SCHEDULER_CMD 

Activate Scheduler command UID.

DEFINE_EVENT_CMD 

Define Event command UID.

UPDATE_STATUS_CMD 

Update Event Status command UID.

GET_ENTRY_CMD 

Get Event Entry command UID.

DELETE_CMD 

Delete Event command UID.

DELETE_ALL_CMD 

Delete All Events command UID.

Definition at line 91 of file scheduling.h.

92  {
93  ACTIVATE_SCHEDULER_CMD = 0x01,
94  DEFINE_EVENT_CMD = 0x02,
95  UPDATE_STATUS_CMD = 0x03,
96  GET_ENTRY_CMD = 0x04,
97  DELETE_CMD = 0x05,
98  DELETE_ALL_CMD = 0x06,
99  __LAST_CMD__ = DELETE_ALL_CMD
100  } CMD;
Delete Event command UID.
Definition: scheduling.h:97
Define Event command UID.
Definition: scheduling.h:94
Update Event Status command UID.
Definition: scheduling.h:95
Activate Scheduler command UID.
Definition: scheduling.h:93
Delete All Events command UID.
Definition: scheduling.h:98
CMD
Command IDs.
Definition: scheduling.h:91
Get Event Entry command UID.
Definition: scheduling.h:96

Function Documentation

◆ create_attribute() [1/2]

HF::Attributes::IAttribute* HF::Core::create_attribute ( Scheduling::IServer server,
Interface::UID  itf_uid,
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]itf_uidinterface's UID to create the attribute object for.
[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::Scheduling::create_attribute ( HF::Interface::UID  itf_uid,
uint8_t  uid 
)

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

See also
HF::Core::create_attribute (HF::Core::Scheduling::IServer *,uint8_t)
Parameters
[in]itf_uidinterface UID to create the attribute object for.
[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.

◆ operator<<() [1/2]

std::ostream& operator<< ( std::ostream &  stream,
const HF::Core::Scheduling::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::Scheduling::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