Files
flippr-code/FlippR-Driver/src/output/OutputDriverFactory.h

38 lines
1.1 KiB
C++

// Created by rhetenor on 04.10.18.
//
#ifndef flippR_driver_OUTPUTDRIVERFACTORY_H
#define flippR_driver_OUTPUTDRIVERFACTORY_H
#include "output/OutputDriver.h"
#include "output/items/detail/Solenoid.h"
#include "output/items/detail/Lamp.h"
#include "output/items/detail/Sound.h"
#include "output/items/Flipper.h"
#include "output/items/detail/Flipper.h"
#include "output/DisplayBoardPinController.h"
#include "json/json.hpp"
#include <memory>
namespace flippR_driver
{
namespace output
{
namespace OutputDriverFactory
{
std::shared_ptr<OutputDriver> get_OutputDriver(const std::string & solenoid_config_path,
const std::string & lamp_config_path,
const std::string & sound_config_path,
const std::string & display_config_path);
template<typename FactoryType, typename ControllerType>
std::map<std::string, std::shared_ptr<items::Item>> get_items(const std::string & config_path, std::shared_ptr<PinController> pin_controller);
}
}
}
#endif //flippR_driver_OUTPUTDRIVERFACTORY_H