implement initial event manager
This commit is contained in:
14
c_os/user/KeyEventManager.cc
Normal file
14
c_os/user/KeyEventManager.cc
Normal file
@ -0,0 +1,14 @@
|
||||
#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
|
||||
scheduler.deblock(&this->listeners[i]->thread);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user