changed pointer stuff
This commit is contained in:
@@ -9,22 +9,37 @@
|
||||
namespace Input
|
||||
{
|
||||
|
||||
InputDriver::InputDriver(std::shared_ptr<IEventNotifier> event_notifier, std::unique_ptr<IDetector> detector) :
|
||||
event_notifier(event_notifier), detector(std::move(detector))
|
||||
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)
|
||||
{
|
||||
event_notifier->register_event_handler(handler);
|
||||
this->event_notifier->register_event_handler(handler);
|
||||
}
|
||||
|
||||
void InputDriver::unregister_event_handler(IEventHandler* handler)
|
||||
{
|
||||
event_notifier->unregister_event_handler(handler);
|
||||
this->event_notifier->unregister_event_handler(handler);
|
||||
}
|
||||
|
||||
std::shared_ptr<Event> InputDriver::get_event(std::string name)
|
||||
{
|
||||
std::shared_ptr<Event> event;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user