//
// Created by rhetenor on 13.09.18.
//

#ifndef flippR_driver_DRIVERFACTORY_H
#define flippR_driver_DRIVERFACTORY_H

#include <istream>
#include <memory>

#include "input/InputDriver.h"
#include "output/OutputDriver.h"

namespace flippR_driver
{
  std::shared_ptr<input::InputDriver> get_InputDriver(std::istream& input_config_stream, std::istream& matrix_config_stream);
  std::shared_ptr<output::OutputDriver> get_OutputDriver(std::string & lamp_config_path,
                                                          std::string & solenoid_config_path,
                                                          std::string & sound_config_path,
                                                          std::string & display_config_path);
}

#endif //flippR_driver_DRIVERFACTORY_H
