blob: 164fa16e0a35ebd5bdba53b8774e55efd0e6b3ca [file] [log] [blame]
#pragma once
#include <memory>
#include "State.h"
#include "manager/StateManager.h"
namespace velia {
/** @brief Interface for manager's input source. Manager should be notified through updateState invocation */
class AbstractInput {
public:
explicit AbstractInput(std::shared_ptr<AbstractManager> manager);
virtual ~AbstractInput() = 0;
protected:
void updateState(const State& state);
private:
/** Associated manager */
std::shared_ptr<AbstractManager> m_manager;
};
}