allow eventlisteners to unsubsscribe
This commit is contained in:
@ -5,6 +5,10 @@ void KeyEventManager::subscribe(KeyEventListener& listener) {
|
|||||||
this->listeners.insert(&listener);
|
this->listeners.insert(&listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void KeyEventManager::unsubscribe(KeyEventListener& listener) {
|
||||||
|
this->listeners.remove(&listener);
|
||||||
|
}
|
||||||
|
|
||||||
void KeyEventManager::broadcast(char c) {
|
void KeyEventManager::broadcast(char c) {
|
||||||
for (KeyEventListener* listener : this->listeners) {
|
for (KeyEventListener* listener : this->listeners) {
|
||||||
listener->trigger(c);
|
listener->trigger(c);
|
||||||
|
|||||||
@ -16,6 +16,7 @@ public:
|
|||||||
KeyEventManager() {}
|
KeyEventManager() {}
|
||||||
|
|
||||||
void subscribe(KeyEventListener& listener);
|
void subscribe(KeyEventListener& listener);
|
||||||
|
void unsubscribe(KeyEventListener& listener);
|
||||||
void broadcast(char c); // Unblocks all input waiting threads, I don't have a method to direct input
|
void broadcast(char c); // Unblocks all input waiting threads, I don't have a method to direct input
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user