Return empty optional
This commit is contained in:
@@ -303,7 +303,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address" : 50,
|
"address" : 50,
|
||||||
"name" : "Bonux Multiplier x50"
|
"name" : "Bonus Multiplier x50"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address" : 51,
|
"address" : 51,
|
||||||
|
|||||||
@@ -129,27 +129,47 @@ std::vector<std::shared_ptr<Solenoid>> OutputDriver::get_solenoids() const
|
|||||||
|
|
||||||
boost::optional<std::shared_ptr<items::Lamp>> OutputDriver::get_lamp(const std::string &name) const
|
boost::optional<std::shared_ptr<items::Lamp>> OutputDriver::get_lamp(const std::string &name) const
|
||||||
{
|
{
|
||||||
return this->lamps.find(name)->second;
|
auto lamp = this->lamps.find(name);
|
||||||
|
if(lamp == this->lamps.end()) {
|
||||||
|
return boost:optional<std::shared_ptr<items::Lamp>>();
|
||||||
|
}
|
||||||
|
return lamp->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::optional<std::shared_ptr<items::Solenoid>> OutputDriver::get_solenoid(const std::string &name) const
|
boost::optional<std::shared_ptr<items::Solenoid>> OutputDriver::get_solenoid(const std::string &name) const
|
||||||
{
|
{
|
||||||
return this->solenoids.find(name)->second;
|
auto solenoid = this->solenoids.find(name);
|
||||||
|
if(solenoid == this->solenoids.end()) {
|
||||||
|
return boost:optional<std::shared_ptr<items::Solenoid>>();
|
||||||
|
}
|
||||||
|
return solenoid->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::optional<std::shared_ptr<items::Sound>> OutputDriver::get_sound(const std::string &name) const
|
boost::optional<std::shared_ptr<items::Sound>> OutputDriver::get_sound(const std::string &name) const
|
||||||
{
|
{
|
||||||
return this->sounds.find(name)->second;
|
auto sound = this->sounds.find(name);
|
||||||
|
if(sound == this->sounds.end()) {
|
||||||
|
return boost:optional<std::shared_ptr<items::Sound>>();
|
||||||
|
}
|
||||||
|
return sound->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::optional<std::shared_ptr<items::Flipper>> OutputDriver::get_flipper(const std::string &name) const
|
boost::optional<std::shared_ptr<items::Flipper>> OutputDriver::get_flipper(const std::string &name) const
|
||||||
{
|
{
|
||||||
return this->flippers.find(name)->second;
|
auto flipper = this->flippers.find(name);
|
||||||
|
if(flipper == this->flippers.end()) {
|
||||||
|
return boost:optional<std::shared_ptr<items::Flipper>>();
|
||||||
|
}
|
||||||
|
return flipper->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::optional<std::shared_ptr<items::Display>> OutputDriver::get_display(const std::string &name) const
|
boost::optional<std::shared_ptr<items::Display>> OutputDriver::get_display(const std::string &name) const
|
||||||
{
|
{
|
||||||
return this->displays.find(name)->second;
|
auto display = this->displays.find(name);
|
||||||
|
if(display == this->displays.end()) {
|
||||||
|
return boost:optional<std::shared_ptr<items::Display>>();
|
||||||
|
}
|
||||||
|
return display->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputDriver::shut_down_driver() const
|
void OutputDriver::shut_down_driver() const
|
||||||
|
|||||||
Reference in New Issue
Block a user