SatDump 2.0.0-alpha-76a915210
Loading...
Searching...
No Matches
satdump::EventBus Class Reference

Very simple event bus implementation using std::function and typeid. All this does is fire any registered handler when called. More...

#include <event_bus.h>

Public Member Functions

template<typename T>
void register_handler (std::function< void(T)> handler_fun)
 Register a handler function to be called when a specific event is fired.
template<typename T>
void fire_event (T evt)
 Trigger an event, called every registered handler.
void fire_event (void *evt, std::string evt_name)
 Trigger an event, called every registered handler. Allows specifying the event name. Used by task scheduler.

Detailed Description

Very simple event bus implementation using std::function and typeid. All this does is fire any registered handler when called.

std::any could not be used as it can mess up over several .so. (typeinfo does NOT allow casting between several interpretations of the exact same struct)

Member Function Documentation

◆ fire_event() [1/2]

template<typename T>
void satdump::EventBus::fire_event ( T evt)
inline

Trigger an event, called every registered handler.

Parameters
evtevent struct

◆ fire_event() [2/2]

void satdump::EventBus::fire_event ( void * evt,
std::string evt_name )
inline

Trigger an event, called every registered handler. Allows specifying the event name. Used by task scheduler.

Parameters
evtevent struct
evt_nameevent name to trigger

◆ register_handler()

template<typename T>
void satdump::EventBus::register_handler ( std::function< void(T)> handler_fun)
inline

Register a handler function to be called when a specific event is fired.

Parameters
handler_funfunction to register

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