firmware/src/input/InputBroker.h

22 lines
556 B
C
Raw Normal View History

2022-01-11 15:02:55 +00:00
#pragma once
#include "Observer.h"
2022-01-12 08:26:42 +00:00
typedef struct _InputEvent {
2022-01-13 13:06:10 +00:00
const char* source;
2022-01-12 08:26:42 +00:00
char inputEvent;
} InputEvent;
2022-01-11 15:02:55 +00:00
class InputBroker :
public Observable<const InputEvent *>
{
CallbackObserver<InputBroker, const InputEvent *> inputEventObserver =
CallbackObserver<InputBroker, const InputEvent *>(this, &InputBroker::handleInputEvent);
public:
InputBroker();
2022-01-13 13:06:10 +00:00
void registerSource(Observable<const InputEvent *> *source);
2022-01-11 15:02:55 +00:00
protected:
int handleInputEvent(const InputEvent *event);
};
extern InputBroker *inputBroker;