8#include <RobotsIO/Utils/ParametersYarpPort.h>
10#include <yarp/os/Value.h>
12using namespace RobotsIO::Utils;
13using namespace yarp::os;
16ParametersYarpPort::ParametersYarpPort(
const std::string& port_name) :
21ParametersYarpPort::~ParametersYarpPort()
25bool ParametersYarpPort::receive_parameters()
27 Bottle* bottle = receive_data(
false);
29 if (bottle ==
nullptr)
33 last_parameters_ = *bottle;
35 data_available_ =
true;
42const std::pair<bool, std::string> ParametersYarpPort::fill_string(
const std::string& key)
const
45 return std::make_pair(
false, std::string());
47 Value value = last_parameters_.find(key);
49 return std::make_pair(
false, std::string());
51 return std::make_pair(
true, value.asString());
55const std::pair<bool, std::size_t> ParametersYarpPort::fill_size_t(
const std::string& key)
const
58 return std::make_pair(
false, std::size_t());
60 Value value = last_parameters_.find(key);
62 return std::make_pair(
false, std::size_t());
64 return std::make_pair(
true, value.asInt32());
68const std::pair<bool, int> ParametersYarpPort::fill_int(
const std::string& key)
const
71 return std::make_pair(
false,
int());
73 Value value = last_parameters_.find(key);
75 return std::make_pair(
false,
int());
77 return std::make_pair(
true, value.asInt32());
81const std::pair<bool, double> ParametersYarpPort::fill_double(
const std::string& key)
const
84 return std::make_pair(
false,
double());
86 Value value = last_parameters_.find(key);
88 return std::make_pair(
false,
double());
90 return std::make_pair(
true, value.asFloat64());
94const std::pair<bool, bool> ParametersYarpPort::fill_bool(
const std::string& key)
const
97 return std::make_pair(
false,
bool());
99 Value value = last_parameters_.find(key);
101 return std::make_pair(
false,
bool());
103 return std::make_pair(
true, value.asBool());