38 lines
1.1 KiB
C++
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
|