1

implement initial event manager

This commit is contained in:
2022-07-11 22:50:53 +02:00
parent 898a44f7ff
commit 60bb0cea78
4 changed files with 69 additions and 0 deletions

View File

@ -0,0 +1,23 @@
#ifndef __KeyEventManager_Include_H_
#define __KeyEventManager_Include_H_
#include "user/KeyEventListener.h"
// NOTE: Could do this more generally but we only have key events
class KeyEventManager {
private:
KeyEventManager(const KeyEventManager& copy) = delete;
// TODO: Implement some sort of set structure
KeyEventListener* listeners[16]; // This is pretty limited but should be enough
unsigned int num_subscribed = 0;
public:
KeyEventManager() {}
void subscribe(KeyEventListener& listener);
void broadcast(char c); // Unblocks all input waiting threads, I don't have a method to direct input
};
#endif