#pragma once #include "ButtonEvent.hpp" #include <cstddef> class ButtonEventDispatcher { private: static constexpr size_t capacity = 4; void (*callbackFuncPtr[capacity])(const ButtonEvent& e); public: typedef void (*callbackPtr_t)(const ButtonEvent& e); ButtonEventDispatcher(); void Dispatch(const ButtonEvent& e) const; void RegisterButtonHandler(callbackPtr_t cb); void UnregisterButtonHandler(callbackPtr_t cb); };