1

kevman logging

This commit is contained in:
2022-07-17 01:16:34 +02:00
parent 9676c70125
commit cfb1e2affc
2 changed files with 7 additions and 1 deletions

View File

@ -2,15 +2,18 @@
#include "kernel/Globals.h"
void KeyEventManager::subscribe(KeyEventListener& listener) {
log << DEBUG << "Subscribe, Thread ID: " << dec << listener.thread.tid << endl;
this->listeners.insert(&listener);
}
void KeyEventManager::unsubscribe(KeyEventListener& listener) {
log << DEBUG << "Unsubscribe, Thread ID: " << dec << listener.thread.tid << endl;
this->listeners.remove(&listener);
}
void KeyEventManager::broadcast(char c) {
for (KeyEventListener* listener : this->listeners) {
log << TRACE << "Broadcasting " << c << " to Thread ID: " << dec << listener->thread.tid << endl;
listener->trigger(c);
scheduler.deblock(&listener->thread);
}

View File

@ -3,6 +3,7 @@
#include "user/event/KeyEventListener.h"
#include "user/lib/ArrayList.h"
#include "user/lib/Logger.h"
// NOTE: Could do this more generally but we only have key events
@ -10,10 +11,12 @@ class KeyEventManager {
private:
KeyEventManager(const KeyEventManager& copy) = delete;
Logger log;
ArrayList<KeyEventListener*> listeners;
public:
KeyEventManager() {}
KeyEventManager() : log("KEvMan") {}
void subscribe(KeyEventListener& listener);
void unsubscribe(KeyEventListener& listener);