working on big refactor
This commit is contained in:
43
FlippR-Driver/include/output/OutputDriver.h
Normal file
43
FlippR-Driver/include/output/OutputDriver.h
Normal 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
|
||||
Reference in New Issue
Block a user