Add ALL_EVENTS listeners

This commit is contained in:
Sassa NF
2024-10-12 13:02:01 +01:00
parent c2da28bae6
commit 7f8c08a777
3 changed files with 12 additions and 4 deletions
+3 -2
View File
@@ -4,9 +4,10 @@
struct Event;
enum EventType
{
DETECTED = 0,
ALL_EVENTS = 0, // used only at registration time
DETECTED,
SCAN_TASK_COMPLETE,
_MAX_EVENT_TYPE // unused as event type
_MAX_EVENT_TYPE = SCAN_TASK_COMPLETE // unused as event type
};
struct Listener;
+7
View File
@@ -177,6 +177,13 @@ void Scan::fireEvent(Event &event)
{
list[i]->onEvent(event);
}
list = eventListeners[(size_t)EventType::ALL_EVENTS];
c = listener_count[(size_t)EventType::ALL_EVENTS];
for (int i = 0; i < c; i++)
{
list[i]->onEvent(event);
}
}
#endif
+2 -2
View File
@@ -45,8 +45,8 @@ struct Scan
bool animated;
float trigger_level;
Listener **eventListeners[(size_t)EventType::_MAX_EVENT_TYPE];
size_t listener_count[(size_t)EventType::_MAX_EVENT_TYPE];
Listener **eventListeners[(size_t)EventType::_MAX_EVENT_TYPE + 1];
size_t listener_count[(size_t)EventType::_MAX_EVENT_TYPE + 1];
Scan()
: epoch(0), current_frequency(0), fr_begin(0), fr_end(0),