This commit is contained in:
Jonas Zeunert
2018-09-20 20:10:30 +02:00
parent 7962ff756e
commit 6daa369006
3 changed files with 33 additions and 28 deletions

View File

@@ -5,7 +5,7 @@
#include "PrintHandler.h"
#include <iostream>
PrintHandler::PrintHandler(std::shared_ptr<Input::IInputDriver> driver) :
PrintHandler::PrintHandler(std::shared_ptr<FlippR_Driver::Input::IInputDriver> driver) :
EventHandler(driver)
{}

View File

@@ -5,12 +5,13 @@
#ifndef FLIPPR_DRIVER_PRINTHANDLER_H
#define FLIPPR_DRIVER_PRINTHANDLER_H
#include <memory>
#include "IEventHandler.h"
class PrintHandler : public IEventHandler
{
public:
PrintHandler(std::shared_ptr<Input::IInputDriver> driver);
PrintHandler(std::shared_ptr<FlippR_Driver::Input::IInputDriver> driver);
virtual void handle(FlippR_Driver::Input::Event& event) override;
};

View File

@@ -15,34 +15,38 @@ namespace FlippR_Driver
namespace Input
{
InputDriver::InputDriver(std::shared_ptr<IEventNotifier> event_notifier, std::unique_ptr<IDetector> detector,
std::map<std::string, std::shared_ptr<Event>> events) :
event_notifier(event_notifier),
detector(std::move(detector)),
events(events) {
CLOG(INFO, INPUT_LOGGER) << "Created InputDriver";
InputDriver::InputDriver(std::shared_ptr<IEventNotifier> event_notifier, std::unique_ptr<IDetector> detector,
std::map<std::string, std::shared_ptr<Event>> 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::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);
void InputDriver::unregister_event_handler(IEventHandler *handler)
{
this->event_notifier->unregister_event_handler(handler);
}
std::shared_ptr<Event> InputDriver::get_event(std::string name)
std::shared_ptr<Event> InputDriver::get_event(std::string name)
{
std::shared_ptr<Event> event(new ErrorEvent());
try
{
std::shared_ptr<Event> 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!";
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;
}
}
}
}
}