15 lines
485 B
C++
15 lines
485 B
C++
#include "user/KeyEventManager.h"
|
|
#include "kernel/Globals.h"
|
|
|
|
void KeyEventManager::subscribe(KeyEventListener& listener) {
|
|
this->listeners[this->num_subscribed] = &listener;
|
|
this->num_subscribed = this->num_subscribed + 1;
|
|
}
|
|
|
|
void KeyEventManager::broadcast(char c) {
|
|
for (unsigned int i = 0; i < this->num_subscribed; ++i) {
|
|
this->listeners[i]->trigger(c); // Sets lastChar, do this before wakeup
|
|
scheduler.deblock(&this->listeners[i]->thread);
|
|
}
|
|
}
|