updated networking
This commit is contained in:
@@ -61,7 +61,7 @@ public:
|
|||||||
boost::optional<std::shared_ptr<items::Solenoid>> get_solenoid(const std::string &name) const;
|
boost::optional<std::shared_ptr<items::Solenoid>> get_solenoid(const std::string &name) const;
|
||||||
boost::optional<std::shared_ptr<items::Sound>> get_sound(const std::string &name) const;
|
boost::optional<std::shared_ptr<items::Sound>> get_sound(const std::string &name) const;
|
||||||
boost::optional<std::shared_ptr<items::Flipper>> get_flipper(const std::string &name) const;
|
boost::optional<std::shared_ptr<items::Flipper>> get_flipper(const std::string &name) const;
|
||||||
boost::optional<std::shared_ptr<items::Display>> get_display(uint8_t number) const;
|
boost::optional<std::shared_ptr<items::Display>> get_display(const std::string &name) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::shared_ptr<output::DisplayController> display_controller;
|
std::shared_ptr<output::DisplayController> display_controller;
|
||||||
|
|||||||
@@ -221,21 +221,20 @@ boost::optional<Poco::JSON::Object> OutputRequestHandler::parseSound(const std::
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::optional<Poco::JSON::Object> OutputRequestHandler::parseDisplay(const std::string& item_name, const std::string& action, const std::string& score)
|
boost::optional<Poco::JSON::Object> OutputRequestHandler::parseDisplay(const std::string& display_name, const std::string& action, const std::string& score)
|
||||||
{
|
{
|
||||||
Poco::JSON::Object response;
|
Poco::JSON::Object response;
|
||||||
if(item_name == "")
|
if(display_name == "")
|
||||||
{
|
{
|
||||||
response.set("displays", this->output_driver->get_displays());
|
response.set("displays", this->output_driver->get_displays());
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t display_number = std::stoi(item_name);
|
auto opt_display = this->output_driver->get_display(display_name);
|
||||||
auto opt_display = this->output_driver->get_display(display_number);
|
|
||||||
|
|
||||||
if(!opt_display)
|
if(!opt_display)
|
||||||
{
|
{
|
||||||
throw new Poco::NotFoundException("No display with number \"" + item_name + "\"!");
|
throw new Poco::NotFoundException("No display with name \"" + display_name + "\"!");
|
||||||
}
|
}
|
||||||
|
|
||||||
auto display = opt_display->get();
|
auto display = opt_display->get();
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ private:
|
|||||||
boost::optional<Poco::JSON::Object> parseSolenoid(const std::string& item_name, const std::string& action);
|
boost::optional<Poco::JSON::Object> parseSolenoid(const std::string& item_name, const std::string& action);
|
||||||
boost::optional<Poco::JSON::Object> parseLamp(const std::string& item_name, const std::string& action);
|
boost::optional<Poco::JSON::Object> parseLamp(const std::string& item_name, const std::string& action);
|
||||||
boost::optional<Poco::JSON::Object> parseSound(const std::string& item_name, const std::string& action);
|
boost::optional<Poco::JSON::Object> parseSound(const std::string& item_name, const std::string& action);
|
||||||
boost::optional<Poco::JSON::Object> parseDisplay(const std::string& item_name, const std::string& action, const std::string& score);
|
boost::optional<Poco::JSON::Object> parseDisplay(const std::string& display_name, const std::string& action, const std::string& score);
|
||||||
boost::optional<Poco::JSON::Object> parseFlipper(const std::string& item_name, const std::string& action);
|
boost::optional<Poco::JSON::Object> parseFlipper(const std::string& item_name, const std::string& action);
|
||||||
|
|
||||||
std::vector<std::string> getPathSegments(Poco::URI uri);
|
std::vector<std::string> getPathSegments(Poco::URI uri);
|
||||||
|
|||||||
@@ -147,10 +147,9 @@ boost::optional<std::shared_ptr<items::Flipper>> OutputDriver::get_flipper(const
|
|||||||
return this->flippers.find(name)->second;
|
return this->flippers.find(name)->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::optional<std::shared_ptr<items::Display>> OutputDriver::get_display(uint8_t number) const
|
boost::optional<std::shared_ptr<items::Display>> OutputDriver::get_display(const std::string &name) const
|
||||||
{
|
{
|
||||||
std::string num{static_cast<char>(number)};
|
return this->displays.find(name)->second;
|
||||||
return this->displays.find(num)->second;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputDriver::shut_down_driver() const
|
void OutputDriver::shut_down_driver() const
|
||||||
|
|||||||
Reference in New Issue
Block a user