some code convention stuff
This commit is contained in:
@@ -22,54 +22,53 @@ namespace FlippR_Driver
|
|||||||
{
|
{
|
||||||
namespace Input
|
namespace Input
|
||||||
{
|
{
|
||||||
|
std::shared_ptr<IInputDriver> InputDriverFactory::get_InputDriver(std::istream &input_config_stream, std::istream &matrix_config_stream)
|
||||||
|
{
|
||||||
|
LoggerFactory::CreateInputLogger();
|
||||||
|
|
||||||
std::shared_ptr<IInputDriver>
|
IBlockingQueue<Event> *event_queue = new BlockingQueue<Event>;
|
||||||
InputDriverFactory::get_InputDriver(std::istream &input_config_stream, std::istream &matrix_config_stream)
|
|
||||||
{
|
|
||||||
LoggerFactory::CreateInputLogger();
|
|
||||||
|
|
||||||
IBlockingQueue<Event> *event_queue = new BlockingQueue<Event>;
|
json matrix_config;
|
||||||
|
matrix_config_stream >> matrix_config;
|
||||||
|
|
||||||
json matrix_config;
|
std::map<char, std::shared_ptr<Event>> address_event_map;
|
||||||
matrix_config_stream >> matrix_config;
|
std::map<std::string, std::shared_ptr<Event>> name_event_map;
|
||||||
|
create_input_events(matrix_config, address_event_map, name_event_map);
|
||||||
|
|
||||||
std::map<char, std::shared_ptr<Event>> address_event_map;
|
std::shared_ptr<IEventNotifier> event_notifier(new EventNotifier(event_queue));
|
||||||
std::map<std::string, std::shared_ptr<Event>> name_event_map;
|
std::unique_ptr<IInputGPIOInterface> input_gpio_interface(new InputGPIOInterface(input_config_stream));
|
||||||
create_input_events(matrix_config, address_event_map, name_event_map);
|
std::unique_ptr<IDetector> detector(
|
||||||
|
new Detector(std::move(input_gpio_interface), address_event_map, event_notifier));
|
||||||
|
|
||||||
std::shared_ptr<IEventNotifier> event_notifier(new EventNotifier(event_queue));
|
return std::shared_ptr<InputDriver>(new InputDriver(event_notifier, std::move(detector), name_event_map));
|
||||||
std::unique_ptr<IInputGPIOInterface> input_gpio_interface(new InputGPIOInterface(input_config_stream));
|
}
|
||||||
std::unique_ptr<IDetector> detector(
|
|
||||||
new Detector(std::move(input_gpio_interface), address_event_map, event_notifier));
|
|
||||||
|
|
||||||
return std::shared_ptr<InputDriver>(new InputDriver(event_notifier, std::move(detector), name_event_map));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void InputDriverFactory::create_input_events(json matrix_config, std::map<char, std::shared_ptr<Event>>& address_event_map,
|
||||||
InputDriverFactory::create_input_events(json matrix_config, std::map<char, std::shared_ptr<Event>>& address_event_map,
|
|
||||||
std::map<std::string, std::shared_ptr<Event>>& name_event_map)
|
std::map<std::string, std::shared_ptr<Event>>& name_event_map)
|
||||||
|
{
|
||||||
|
auto& event_array = matrix_config.at("input_matrix");
|
||||||
|
for (auto &json_event : event_array)
|
||||||
{
|
{
|
||||||
auto& event_array = matrix_config.at("input_matrix");
|
|
||||||
for (auto &json_event : event_array)
|
try
|
||||||
{
|
{
|
||||||
|
std::string name = json_event.at("name");
|
||||||
|
char address = json_event.at("address").get<json::number_integer_t>();
|
||||||
|
int priority = json_event.at("priority").get<json::number_integer_t>();
|
||||||
|
|
||||||
try
|
std::shared_ptr<Event> event_ptr(new Event(address, priority, name));
|
||||||
{
|
|
||||||
std::string name = json_event.at("name");
|
|
||||||
char address = json_event.at("address").get<json::number_integer_t>();
|
|
||||||
int priority = json_event.at("priority").get<json::number_integer_t>();
|
|
||||||
|
|
||||||
std::shared_ptr<Event> event_ptr(new Event(address, priority, name));
|
address_event_map.emplace(address, event_ptr);
|
||||||
|
name_event_map.emplace(name, event_ptr);
|
||||||
address_event_map.emplace(address, event_ptr);
|
}
|
||||||
name_event_map.emplace(name, event_ptr);
|
catch (json::exception &e)
|
||||||
}
|
{
|
||||||
catch (json::exception &e) {
|
CLOG(ERROR, INPUT_LOGGER) << "Matrix config-file corrupted: " << e.what();
|
||||||
CLOG(ERROR, INPUT_LOGGER) << "Matrix config-file corrupted: " << e.what();
|
exit(EXIT_FAILURE);
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user