Embedded Template Library 1.0
Loading...
Searching...
No Matches
etl::callback_service< RANGE, OFFSET > Class Template Reference

#include <callback_service.h>

Public Member Functions

 callback_service ()
 
template<size_t ID>
void register_callback (etl::ifunction< size_t > &callback)
 
void register_callback (size_t id, etl::ifunction< size_t > &callback)
 
void register_unhandled_callback (etl::ifunction< size_t > &callback)
 
template<size_t ID>
void callback ()
 
void callback (size_t id)
 

Detailed Description

template<size_t RANGE, size_t OFFSET = 0U>
class etl::callback_service< RANGE, OFFSET >

An indexed callback service.

Template Parameters
RANGEThe number of callbacks to handle.
OFFSETThe lowest callback id value. The callback ids must range between OFFSET and OFFSET + RANGE - 1.

Constructor & Destructor Documentation

◆ callback_service()

template<size_t RANGE, size_t OFFSET = 0U>
etl::callback_service< RANGE, OFFSET >::callback_service ( )
inline

Reset the callback service. Sets all callbacks to the internal default.

Member Function Documentation

◆ callback() [1/2]

template<size_t RANGE, size_t OFFSET = 0U>
template<size_t ID>
void etl::callback_service< RANGE, OFFSET >::callback ( )
inline

Executes the callback function for the index. Compile time assert if the id is out of range.

Template Parameters
IDThe id of the callback.

◆ callback() [2/2]

template<size_t RANGE, size_t OFFSET = 0U>
void etl::callback_service< RANGE, OFFSET >::callback ( size_t  id)
inline

Executes the callback function for the index.

Parameters
idId of the callback.

◆ register_callback() [1/2]

template<size_t RANGE, size_t OFFSET = 0U>
template<size_t ID>
void etl::callback_service< RANGE, OFFSET >::register_callback ( etl::ifunction< size_t > &  callback)
inline

Registers a callback for the specified id. Compile time assert if the id is out of range.

Template Parameters
IDThe id of the callback.
Parameters
callbackReference to the callback.

◆ register_callback() [2/2]

template<size_t RANGE, size_t OFFSET = 0U>
void etl::callback_service< RANGE, OFFSET >::register_callback ( size_t  id,
etl::ifunction< size_t > &  callback 
)
inline

Registers a callback for the specified id. No action if the id is out of range.

Parameters
idId of the callback.
callbackReference to the callback.

◆ register_unhandled_callback()

template<size_t RANGE, size_t OFFSET = 0U>
void etl::callback_service< RANGE, OFFSET >::register_unhandled_callback ( etl::ifunction< size_t > &  callback)
inline

Registers an alternative callback for unhandled ids.

Parameters
callbackA reference to the user supplied 'unhandled' callback.

The documentation for this class was generated from the following file: