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

This file contains the common definitions for the scheduling services. More...

#include "hanfun/protocol.h"
#include "hanfun/core.h"
#include <string>
#include <map>
#include <forward_list>
#include <algorithm>
+ Include dependency graph for scheduling.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::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...
 

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::Scheduling
 This namespace contains the implementation of the Scheduling service.
 

Macros

#define HF_SCHEDULING_SETTER_HELPER(_Type, _name, _value)
 Helper macro to implement attribute setters for the Scheduling case. 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 file contains the common definitions for the scheduling services.

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

Macro Definition Documentation

◆ HF_SCHEDULING_SETTER_HELPER

#define HF_SCHEDULING_SETTER_HELPER (   _Type,
  _name,
  _value 
)
Value:
{ \
_Type::value_type old = this->_name; \
\
this->_name = _value; \
\
_Type old_attr(static_cast<HF::Interface::UID>(this->uid()), old, this); \
_Type new_attr(static_cast<HF::Interface::UID>(this->uid()), this->_name, this); \
\
notify(old_attr, new_attr); \
}

Helper macro to implement attribute setters for the Scheduling case.

Parameters
[in]_Typehelper class that wraps the attribute.
[in]_namename of the attribute to generate the setter for.
[in]_valuename of the variable containing the new value.

Definition at line 37 of file scheduling.h.