refactored cabinetitem -> outputitem

This commit is contained in:
Johannes Wendel
2018-11-20 21:08:41 +01:00
parent 1960ce0a11
commit 15b771ae75
6 changed files with 30 additions and 13 deletions

View File

@@ -14,9 +14,9 @@ namespace flippR_driver
namespace output
{
class ICabinetItem
class IOutputItem
{
virtual ~ICabinetItem();
virtual ~IOutputItem();
virtual bool isActivated() = 0;
virtual bool activate() = 0;
virtual bool deactivate() = 0;

View File

@@ -15,13 +15,13 @@ namespace flippR_driver
namespace output
{
OutputDriver::OutputDriver(std::map<std::string, std::shared_ptr<ICabinetItem>> cabinet_items, std::map<char, std::shared_ptr<IDisplay>> displays, std::map<std::string, std::shared_ptr<ISound>> sounds)
OutputDriver::OutputDriver(std::map<std::string, std::shared_ptr<IOutputtItem>> cabinet_items, std::map<char, std::shared_ptr<IDisplay>> displays, std::map<std::string, std::shared_ptr<ISound>> sounds)
: cabinet_items(cabinet_items), displays(displays), sounds(sounds)
{}
std::vector<std::shared_ptr<ICabinetItem>> OutputDriver::get_cabinet_items()
std::vector<std::shared_ptr<IOutputtItem>> OutputDriver::get_cabinet_items()
{
std::vector<std::shared_ptr<ICabinetItem>> cabinet_items;
std::vector<std::shared_ptr<IOutputtItem>> cabinet_items;
boost::copy(this->cabinet_items | boost::adaptors::map_values, std::back_inserter(cabinet_items));
@@ -46,7 +46,7 @@ std::vector<std::shared_ptr<IDisplay>> OutputDriver::get_displays()
return displays;
}
std::shared_ptr<ICabinetItem> OutputDriver::get_cabinet_item(std::string name)
std::shared_ptr<IOutputtItem> OutputDriver::get_cabinet_item(std::string name)
{
return this->cabinet_items.find(name)->second;
}

View File

@@ -25,20 +25,20 @@ namespace output
class OutputDriver : public IOutputDriver
{
public:
OutputDriver(std::map<std::string, std::shared_ptr<ICabinetItem>> cabinet_items, std::map<char, std::shared_ptr<IDisplay>> displays, std::map<std::string, std::shared_ptr<ISound>> sounds);
OutputDriver(std::map<std::string, std::shared_ptr<IOutputtItem>> cabinet_items, std::map<char, std::shared_ptr<IDisplay>> displays, std::map<std::string, std::shared_ptr<ISound>> sounds);
virtual ~OutputDriver() = default;
std::vector<std::shared_ptr<ICabinetItem>> get_cabinet_items();
std::vector<std::shared_ptr<IOutputtItem>> get_cabinet_items();
std::vector<std::shared_ptr<ISound>> get_sounds();
std::vector<std::shared_ptr<IDisplay>> get_displays();
std::shared_ptr<ICabinetItem> get_cabinet_item(std::string name);
std::shared_ptr<IOutputtItem> get_cabinet_item(std::string name);
std::shared_ptr<ISound> get_sound(std::string name);
std::shared_ptr<IDisplay> get_display(char number);
private:
std::map<std::string, std::shared_ptr<ICabinetItem>> cabinet_items;
std::map<std::string, std::shared_ptr<IOutputtItem>> cabinet_items;
std::map<char, std::shared_ptr<IDisplay>> displays;
std::map<std::string, std::shared_ptr<ISound>> sounds;
};

View File

@@ -8,9 +8,8 @@
#ifndef _SRC_OUTPUT_CABINETITEM_H_
#define _SRC_OUTPUT_CABINETITEM_H_
#include "ICabinetItem.h"
#include "IOutputItem.h"
#include "ActivationStrategy.h"
#include "utility/IOutputGPIOInterface.h"
#include <memory>
@@ -21,7 +20,7 @@ namespace flippR_driver
namespace output
{
class OutputItem : public ICabinetItem
class OutputItem : public IOutputItem
{
public:
OutputItem(std::shared_ptr<utility::IOutputGPIOInterface> output_gpio_interface, int address, std::string name);

View File

@@ -30,5 +30,15 @@ void Solenoid::trigger()
// deactivate
}
void Solenoid::activate()
{
}
void Solenoid::deactivate()
{
}
} /* namespace output */
}

View File

@@ -10,6 +10,8 @@
#include "OutputItem.h"
#include <thread>
namespace flippR_driver
{
namespace output
@@ -23,6 +25,12 @@ public:
//muss task sein
void trigger();
private:
std::thread wait_thread;
void activate();
void deactivate();
};
} /* namespace output */