Bluenet  5.7.0
Bluenet, firmware for nRF52 smart home devices
Loading...
Searching...
No Matches
cs_EventDispatcher.h
Go to the documentation of this file.
1/*
2 * Author: Crownstone Team
3 * Copyright: Crownstone (https://crownstone.rocks)
4 * Date: May 6, 2015
5 * License: LGPLv3+, Apache License 2.0, and/or MIT (triple-licensed)
6 */
7#pragma once
8
9#include <events/cs_Event.h>
11
12#define MAX_EVENT_LISTENERS 48
13
18
19private:
21
24
27
28public:
30 static EventDispatcher instance;
31 return instance;
32 }
33
35 void operator=(EventDispatcher const&) = delete;
36
38 bool addListener(EventListener* listener);
39
42
44 void dispatch(event_t& event);
45};
Event dispatcher.
Definition: cs_EventDispatcher.h:17
EventDispatcher(EventDispatcher const &)=delete
uint16_t _listenerCount
Count of added listeners.
Definition: cs_EventDispatcher.h:26
EventListener * _listeners[MAX_EVENT_LISTENERS]
Array of listeners.
Definition: cs_EventDispatcher.h:23
void removeListener(EventListener *listener)
Nulls all elements in _listeners equal to listener.
void dispatch(event_t &event)
Dispatch an event to all registered (non-null) listeners.
bool addListener(EventListener *listener)
Add a listener.
static EventDispatcher & getInstance()
Definition: cs_EventDispatcher.h:29
void operator=(EventDispatcher const &)=delete
Event listener.
Definition: cs_EventListener.h:17
Author: Crownstone Team Copyright: Crownstone (https://crownstone.rocks) Date: Oct 9,...
Definition: cs_Event.h:26
#define MAX_EVENT_LISTENERS
Definition: cs_EventDispatcher.h:12