renamed impl to detail
This commit is contained in:
94
FlippR-Driver/src/output/detail/OutputDriver.cpp
Normal file
94
FlippR-Driver/src/output/detail/OutputDriver.cpp
Normal file
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
* OutputDriver.cpp
|
||||
*
|
||||
* Created on: Aug 2, 2018
|
||||
* Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert
|
||||
*/
|
||||
|
||||
#include "OutputDriver.h"
|
||||
|
||||
#include <boost/range/adaptor/map.hpp>
|
||||
#include <boost/range/algorithm/copy.hpp>
|
||||
|
||||
namespace flippR_driver
|
||||
{
|
||||
namespace output
|
||||
{
|
||||
namespace detail
|
||||
{
|
||||
|
||||
using namespace items;
|
||||
|
||||
OutputDriver::OutputDriver(std::unique_ptr<output::DisplayController> display_controller, std::map<std::string, std::shared_ptr<Solenoid>> solenoids, std::map<std::string, std::shared_ptr<Lamp>> lamps, std::map<std::string, std::shared_ptr<Sound>> sounds, std::map<uint8_t, std::shared_ptr<Display>> displays)
|
||||
: display_controller(std::move(display_controller)), solenoids(std::move(solenoids)), lamps(std::move(lamps)), sounds(std::move(sounds)), displays(std::move(displays))
|
||||
{}
|
||||
|
||||
void OutputDriver::activate_displays() const
|
||||
{
|
||||
display_controller->activate_displays();
|
||||
}
|
||||
|
||||
void OutputDriver::deactivate_displays() const
|
||||
{
|
||||
display_controller->deactivate_displays();
|
||||
}
|
||||
|
||||
std::vector<std::shared_ptr<Sound>> OutputDriver::get_sounds() const
|
||||
{
|
||||
std::vector<std::shared_ptr<Sound>> sounds;
|
||||
|
||||
boost::copy(this->sounds | boost::adaptors::map_values, std::back_inserter(sounds));
|
||||
|
||||
return sounds;
|
||||
}
|
||||
|
||||
std::vector<std::shared_ptr<Display>> OutputDriver::get_displays() const
|
||||
{
|
||||
std::vector<std::shared_ptr<Display>> displays;
|
||||
|
||||
boost::copy(this->displays | boost::adaptors::map_values, std::back_inserter(displays));
|
||||
|
||||
return displays;
|
||||
}
|
||||
|
||||
std::vector<std::shared_ptr<Lamp>> OutputDriver::get_lamps() const
|
||||
{
|
||||
std::vector<std::shared_ptr<Lamp>> lamps;
|
||||
|
||||
boost::copy(this->lamps | boost::adaptors::map_values, std::back_inserter(lamps));
|
||||
|
||||
return lamps;
|
||||
}
|
||||
|
||||
std::vector<std::shared_ptr<Solenoid>> OutputDriver::get_solenoids() const
|
||||
{
|
||||
std::vector<std::shared_ptr<Solenoid>> solenoids;
|
||||
|
||||
boost::copy(this->solenoids | boost::adaptors::map_values, std::back_inserter(solenoids));
|
||||
|
||||
return solenoids;
|
||||
}
|
||||
|
||||
boost::optional<std::shared_ptr<items::Lamp>> OutputDriver::get_lamp(const std::string &name) const
|
||||
{
|
||||
return this->lamps.find(name)->second;
|
||||
}
|
||||
|
||||
boost::optional<std::shared_ptr<items::Solenoid>> OutputDriver::get_solenoid(const std::string &name) const
|
||||
{
|
||||
return this->solenoids.find(name)->second;
|
||||
}
|
||||
|
||||
boost::optional<std::shared_ptr<items::Sound>> OutputDriver::get_sound(const std::string &name) const
|
||||
{
|
||||
return this->sounds.find(name)->second;
|
||||
}
|
||||
|
||||
boost::optional<std::shared_ptr<items::Display>> OutputDriver::get_display(uint8_t number) const
|
||||
{
|
||||
return this->displays.find(number)->second;
|
||||
}
|
||||
|
||||
}
|
||||
} /* namespace output */
|
||||
}
|
||||
Reference in New Issue
Block a user