#pragma once #include "Observer.h" typedef struct _InputEvent { const char* source; char inputEvent; } InputEvent; class InputBroker : public Observable { CallbackObserver inputEventObserver = CallbackObserver(this, &InputBroker::handleInputEvent); public: InputBroker(); void registerSource(Observable *source); protected: int handleInputEvent(const InputEvent *event); }; extern InputBroker *inputBroker;