/*
 * EventNotifier.h
 *
 *  Created on: Jun 13, 2018
 *      Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert
 */

#ifndef SRC_INPUT_IEVENTNOTIFIER_H_
#define SRC_INPUT_IEVENTNOTIFIER_H_

#include "input/Event.h"
#include "input/EventHandler.h"
#include <memory>

namespace flippR_driver
{
namespace input
{

class EventNotifier
{
public:
  virtual ~EventNotifier() = default;

  virtual void register_event_handler(EventHandler* handler) = 0;
  virtual void unregister_event_handler(EventHandler* handler) = 0;

  virtual void distribute_event(const Event &event) = 0;
};

}
}
#endif