26 const std::string& service_node_name)
40 auto request = std::make_shared<ParamName>();
41 request->set_value(param_name);
42 auto response = get_parameter_client_->SendRequest(request);
43 if (response ==
nullptr) {
44 AERROR <<
"Call " << get_parameter_client_->ServiceName() <<
" failed";
47 if (response->type() == ParamType::NOT_SET) {
48 AWARN <<
"Parameter " << param_name <<
" not exists yet.";
56 auto request = std::make_shared<Param>(parameter.
ToProtoParam());
57 auto response = set_parameter_client_->SendRequest(request);
58 if (response ==
nullptr) {
59 AERROR <<
"Call " << set_parameter_client_->ServiceName() <<
" failed";
62 return response->value();
66 auto request = std::make_shared<NodeName>();
67 request->set_value(node_->Name());
68 auto response = list_parameters_client_->SendRequest(request);
69 if (response ==
nullptr) {
70 AERROR <<
"Call " << list_parameters_client_->ServiceName() <<
" failed";
73 for (
auto& param : response->param()) {
76 parameters->emplace_back(parameter);
ParameterClient(const std::shared_ptr< Node > &node, const std::string &service_node_name)
Construct a new ParameterClient object
bool ListParameters(std::vector< Parameter > *parameters)
Get all the Parameter objects
bool SetParameter(const Parameter ¶meter)
Set the Parameter object
bool GetParameter(const std::string ¶m_name, Parameter *parameter)
Get the Parameter object
apollo::cyber::proto::ParamName ParamName
apollo::cyber::proto::NodeName NodeName
apollo::cyber::proto::Param Param
A Parameter holds an apollo::cyber::proto::Param, It's more human-readable, you can use basic-value t...
void FromProtoParam(const Param ¶m)
Parse a cyber::proto::Param object to cyber::parameter::Parameter object
Param ToProtoParam() const
Parse a cyber::parameter::Parameter object to cyber::proto::Param object
constexpr auto SET_PARAMETER_SERVICE_NAME
constexpr auto LIST_PARAMETERS_SERVICE_NAME
constexpr auto GET_PARAMETER_SERVICE_NAME