//
// 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::istream& lamp_config,
                                                          std::istream& solenoid_config,
                                                          std::istream& sound_config,
                                                          std::istream& display_config);
}

#endif //flippR_driver_DRIVERFACTORY_H
