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

 EventBus ()
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 release ()

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 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

Constructor & Destructor Documentation

◆ EventBus()

template<typename T>
anch::events::EventBus< T >::EventBus ( )

EventBus default constructor.
This constructor is public to allow to declare temporary EventBus. The EventBus destructor is private. To delete temporary EventBus, free method has to be call.

Here is the call graph for this function:

Member Function Documentation

◆ AddObserver()

template<typename T>
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
Returns
true when observer has been added, false otherwise (when observer has already been registered)

◆ 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
Returns
true when observer has been added, false otherwise (when observer has already been registered)

◆ FireEvent() [1/2]

template<typename T>
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>
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

◆ release()

template<typename T>
void anch::events::EventBus< T >::release ( )

Delete this

◆ RemoveObserver()

template<typename T>
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

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