Embedded Artistry Framework
Embedded Systems C++ Framework
Classes | Namespaces | Typedefs | Variables
event_center.hpp File Reference
#include "event.hpp"
#include <cassert>
#include <dispatch/dispatch.hpp>
#include <etl/list.h>
#include <etl/map.h>
#include <inplace_function/inplace_function.hpp>
#include <list>
#include <map>
#include <mutex>
Include dependency graph for event_center.hpp:
This graph shows which files directly or indirectly include this file:

Classes

class  embvm::EventCenter< TMaxEvents, TMaxSubscribersPerEvent, TFunc >
 Global Event Manager class. More...
 
class  embvm::EventCenter< TMaxEvents, TMaxSubscribersPerEvent, TFunc >::EventHandle
 Handle for an event subscription. More...
 

Namespaces

 embvm
 Embedded framework core interfaces, classes, and definitions.
 

Typedefs

template<const size_t TSize, const size_t TThreadCnt = 1, typename TFunc = stdext::inplace_function<void(), EVENT_CENTER_REQD_STATIC_FUNCTION_SIZE>>
using embvm::StaticEventQueue = embutil::StaticDispatchQueue< TSize, TThreadCnt, TFunc >
 This alias represents a static dispatch queue which can be used with the event manager Primarily this alias is used to prevent users from needing to declare a long type declaration just because of the need to increase inplace_function<>'s size. More...
 
using embvm::DynamicEventCenter = EventCenter< 0, 0 >
 Declare an EventCenter that uses dynamic memory allocation. More...
 
template<const size_t TMaxEvents = 16, const size_t TMaxSubscribersPerEvent = 4>
using embvm::StaticEventCenter = EventCenter< TMaxEvents, TMaxSubscribersPerEvent >
 Declare a DriverRegistry that uses static memory allocation. More...
 

Variables

static constexpr size_t embvm::EVENT_CENTER_REQD_STATIC_FUNCTION_SIZE = (sizeof(void*) * 8)
 Maximum size of the Event center callback functor object. More...