diff --git a/FlippR-Driver/src/input/InputDriverFactory.cpp b/FlippR-Driver/src/input/InputDriverFactory.cpp index 5d16248..48aa6c1 100644 --- a/FlippR-Driver/src/input/InputDriverFactory.cpp +++ b/FlippR-Driver/src/input/InputDriverFactory.cpp @@ -29,8 +29,8 @@ std::shared_ptr InputDriverFactory::get_InputDriver(std::istream& i std::map> name_event_map; create_input_events(matrix_config, address_event_map, name_event_map); - std::shared_ptr event_notifier(event_queue); - std::unique_ptr input_gpio_interface(input_config_stream); + std::shared_ptr event_notifier(new EventNotifier(event_queue)); + std::unique_ptr input_gpio_interface(new InputGPIOInterface(input_config_stream)); std::unique_ptr detector(new Detector(std::move(input_gpio_interface), address_event_map, event_notifier)); return std::shared_ptr(new InputDriver(event_notifier, std::move(detector), name_event_map)); @@ -48,8 +48,7 @@ void InputDriverFactory::create_input_events(json matrix_config, std::map(); int priority = json_event.at("priority").get(); - Event event(address, priority, name); - std::shared_ptr event_ptr(event); + std::shared_ptr event_ptr(new Event(address, priority, name)); address_event_map.emplace(address, event_ptr); name_event_map.emplace(name, event_ptr);