working on big refactor

This commit is contained in:
Jonas Zeunert
2018-12-14 01:09:54 +01:00
parent f3100004b9
commit 2aee0f4f9d
67 changed files with 914 additions and 619 deletions

View File

@@ -0,0 +1,43 @@
/*
* OutputDriver.h
*
* Created on: Aug 2, 2018
* Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert
*/
#ifndef _SRC_OUTPUT_IOUTPUTDRIVER_H_
#define _SRC_OUTPUT_IOUTPUTDRIVER_H_
#include "output/items/ILamp.h"
#include "output/items/ISolenoid.h"
#include "output/items/IDisplay.h"
#include "output/items/ISound.h"
#include <vector>
#include <memory>
#include <boost/optional.hpp>
namespace flippR_driver
{
namespace output
{
class OutputDriver
{
public:
virtual ~OutputDriver() = default;
virtual std::vector<std::shared_ptr<items::ILamp>> get_lamps() = 0;
virtual std::vector<std::shared_ptr<items::ISolenoid>> get_solenoids() = 0;
virtual std::vector<std::shared_ptr<items::ISound>> get_sounds() = 0;
virtual std::vector<std::shared_ptr<items::IDisplay>> get_displays() = 0;
virtual boost::optional<std::shared_ptr<items::ILamp>> get_lamp(std::string name) = 0;
virtual boost::optional<std::shared_ptr<items::ISolenoid>> get_solenoid(std::string name) = 0;
virtual boost::optional<std::shared_ptr<items::ISound>> get_sound(std::string name) = 0;
virtual boost::optional<std::shared_ptr<items::IDisplay>> get_display(char number) = 0;
};
} /* namespace output */
}
#endif