58 #ifndef EventManager_h 59 #define EventManager_h 68 #ifndef EVENTMANAGER_DISPATCH_TABLE_SIZE 69 #define EVENTMANAGER_DISPATCH_TABLE_SIZE 8 72 #if EVENTMANAGER_DISPATCH_TABLE_SIZE > 255 73 #error "EVENTMANAGER_DISPATCH_TABLE_SIZE exceeds size of a uint8_t" 81 #ifndef EVENTMANAGER_EVENT_QUEUE_SIZE 82 #define EVENTMANAGER_EVENT_QUEUE_SIZE 8 85 #if EVENTMANAGER_EVENT_QUEUE_SIZE > 255 86 #error "EVENTMANAGER_EVENT_QUEUE_SIZE exceeds size of a uint8_t" int numListeners()
Get the number of listeners in the dispatch table.
Definition: EventManager.cpp:422
bool enableListener(int eventCode, EventListener listener, bool enable)
Enable or disable an (event, listener) pair entry in the dispatch table.
Definition: EventManager.cpp:208
void(* EventListener)(int eventCode, int eventParam)
Type for an event listener (a.k.a. callback) function.
Definition: EventManager.h:157
bool isListenerEnabled(int eventCode, EventListener listener)
Obtain the the current enabled/disabled state of an (eventCode, listener) pair.
Definition: EventManager.cpp:214
bool queueEvent(int eventCode, int eventParam, EventPriority pri=kLowPriority)
Tries to add an event into the event queue.
Definition: EventManager.cpp:268
bool setDefaultListener(EventListener listener)
Set a default listener. The default listener is a callback function that is called when an event with...
Definition: EventManager.cpp:220
bool removeListener(int eventCode, EventListener listener)
Remove this (event, listener) pair from the dispatch table. Other listener pairs with the same functi...
Definition: EventManager.cpp:196
bool isListenerListEmpty()
Check if the listener list (a.k.a., dispatch table) is empty.
Definition: EventManager.cpp:238
GenericEvents
This enum provides common event names, purely for user convenience.
Definition: EventManager.h:109
bool addListener(int eventCode, EventListener listener)
Add an (event, listener) pair listener to the dispatch table.
Definition: EventManager.cpp:190
void removeDefaultListener()
Remvoes the default listener. The default listener is a callback function that is called when an even...
Definition: EventManager.cpp:226
void enableDefaultListener(bool enable)
Enable or disable the default listener. The default listener is a callback function that is called wh...
Definition: EventManager.cpp:232
bool isEventQueueEmpty(EventPriority pri=kLowPriority)
Check if the event queue is empty.
Definition: EventManager.cpp:250
int processAllEvents()
Processes all the events in the event queues and dispatches them to the corresponding listeners store...
Definition: EventManager.cpp:373
This namespace bundles the Event Manager functionality. It provides logical cohesion for functions im...
Definition: EventManager.cpp:42
bool isListenerListFull()
Check if the listener list (a.k.a., dispatch table) is full.
Definition: EventManager.cpp:244
int processEvent()
Processes one event from the event queue and dispatches it to the corresponding listeners stored in t...
Definition: EventManager.cpp:337
EventPriority
EventManager recognizes two kinds of events. By default, events are are queued as low priority...
Definition: EventManager.h:171
int getNumEventsInQueue(EventPriority pri=kLowPriority)
Get the number of events in the event queue.
Definition: EventManager.cpp:262
bool isEventQueueFull(EventPriority pri=kLowPriority)
Check if the event queue is full.
Definition: EventManager.cpp:256