/* * InputDriver.cpp * * Created on: Jun 15, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht */ #include "InputDriver.h" #include "utility/config.h" #include namespace flippR_driver { namespace input { InputDriver::InputDriver(std::shared_ptr event_notifier, std::unique_ptr detector, std::map> events) : event_notifier(event_notifier), detector(std::move(detector)), events(events) { CLOG(INFO, INPUT_LOGGER) << "Created InputDriver"; } void InputDriver::register_event_handler(IEventHandler *handler) { this->event_notifier->register_event_handler(handler); } void InputDriver::unregister_event_handler(IEventHandler *handler) { this->event_notifier->unregister_event_handler(handler); } std::shared_ptr InputDriver::get_event(std::string name) { std::shared_ptr event(new ErrorEvent()); try { event = this->events.at(name); } catch(std::out_of_range &e) { CLOG_N_TIMES(1, WARNING, OUTPUT_LOGGER) << "Did not found event " << name << " please check config file!"; } return event; } } }