AnCH Framework 0.1
Another C++ Hack Framework
 
Loading...
Searching...
No Matches
anch::events::EventBus< T > Class Template Reference

A class which manage global events firing and events QoS. More...

#include <eventBus.hpp>

+ Inheritance diagram for anch::events::EventBus< T >:
+ Collaboration diagram for anch::events::EventBus< T >:

Public Member Functions

bool addObserver (anch::events::Observer< T > &observer) noexcept
 
void removeObserver (anch::events::Observer< T > &observer) noexcept
 
void fireEvent (const T &event, const std::map< std::string, std::string > &headers={}) noexcept
 
void fireEvent (const anch::events::Event< T > &event) noexcept
 
void scheduleDeferred (const T &event, const std::map< std::string, std::string > &headers={}) noexcept
 
void scheduleDeferred (const anch::events::Event< T > &event) noexcept
 

Static Public Member Functions

static bool AddObserver (anch::events::Observer< T > &observer) noexcept
 
static void RemoveObserver (anch::events::Observer< T > &observer) noexcept
 
static void FireEvent (const T &event, const std::map< std::string, std::string > &headers={}) noexcept
 
static void FireEvent (const anch::events::Event< T > &event) noexcept
 
static void ScheduleDeferred (const T &event, const std::map< std::string, std::string > &headers={}) noexcept
 
static void ScheduleDeferred (const anch::events::Event< T > &event) noexcept
 
- Static Public Member Functions inherited from anch::Singleton< EventBus< T > >
static T & getInstance ()
 

Friends

class anch::Singleton< EventBus< T > >
 

Detailed Description

template<typename T>
class anch::events::EventBus< T >

A class which manage global events firing and events QoS.

EventBus is a singleton.

Since
0.1
Author
Vincent Lachenal

Member Function Documentation

◆ AddObserver()

template<typename T>
static bool anch::events::EventBus< T >::AddObserver ( anch::events::Observer< T > & observer)
staticnoexcept

Retrieve EventBus instance and register Observer to EventBus

Parameters
observerthe Observer to register

◆ addObserver()

template<typename T>
bool anch::events::EventBus< T >::addObserver ( anch::events::Observer< T > & observer)
noexcept

Register Observer to EventBus

Parameters
observerthe Observer to register

◆ FireEvent() [1/2]

template<typename T>
static void anch::events::EventBus< T >::FireEvent ( const anch::events::Event< T > & event)
staticnoexcept

Retrieve EventBus instance and notify all observer that an event has been fired

Parameters
eventthe event which has been fired

◆ FireEvent() [2/2]

template<typename T>
static void anch::events::EventBus< T >::FireEvent ( const T & event,
const std::map< std::string, std::string > & headers = {} )
staticnoexcept

Retrieve EventBus instance and notify all observer that an event has been fired

Parameters
eventthe event which has been fired
headersthe event's context

◆ fireEvent() [1/2]

template<typename T>
void anch::events::EventBus< T >::fireEvent ( const anch::events::Event< T > & event)
noexcept

Notify all observer that an event has been fired

Parameters
eventthe event which has been fired

◆ fireEvent() [2/2]

template<typename T>
void anch::events::EventBus< T >::fireEvent ( const T & event,
const std::map< std::string, std::string > & headers = {} )
noexcept

Notify all observer that an event has been fired

Parameters
eventthe event which has been fired
headersthe event's context

◆ RemoveObserver()

template<typename T>
static void anch::events::EventBus< T >::RemoveObserver ( anch::events::Observer< T > & observer)
staticnoexcept

Retrieve EventBus instance and remove observer for notifications

Parameters
observerThe observer to remove

◆ removeObserver()

template<typename T>
void anch::events::EventBus< T >::removeObserver ( anch::events::Observer< T > & observer)
noexcept

Remove observer for notifications

Parameters
observerThe observer to remove

◆ ScheduleDeferred() [1/2]

template<typename T>
static void anch::events::EventBus< T >::ScheduleDeferred ( const anch::events::Event< T > & event)
staticnoexcept

Retrieve EventBus instance and put event in sheduler.

Parameters
eventthe event to process

◆ ScheduleDeferred() [2/2]

template<typename T>
static void anch::events::EventBus< T >::ScheduleDeferred ( const T & event,
const std::map< std::string, std::string > & headers = {} )
staticnoexcept

Retrieve EventBus instance and put event in sheduler.

Parameters
eventthe event to process
headersthe event's context

◆ scheduleDeferred() [1/2]

template<typename T>
void anch::events::EventBus< T >::scheduleDeferred ( const anch::events::Event< T > & event)
noexcept

Put event in sheduler.

Parameters
eventthe event to process

◆ scheduleDeferred() [2/2]

template<typename T>
void anch::events::EventBus< T >::scheduleDeferred ( const T & event,
const std::map< std::string, std::string > & headers = {} )
noexcept

Put event in sheduler.

Parameters
eventthe event to process
headersthe event's context

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