Skip to content

Commit 90c603a

Browse files
[rolling] Get user specified parameters at startup (#80)
Co-authored-by: Alejandro Hernández Cordero <[email protected]>
1 parent b04897f commit 90c603a

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

point_cloud_transport/include/point_cloud_transport/simple_publisher_plugin.hpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,16 @@ class SimplePublisherPlugin : public point_cloud_transport::PublisherPlugin
9191

9292
//! template function for getting parameter of a given type
9393
template<typename T>
94-
bool getParam(const std::string & name, T & value) const
94+
bool getParam(const std::string & parameter_name, T & value) const
9595
{
9696
if (simple_impl_) {
97-
return simple_impl_->node_->get_parameter(name, value);
97+
uint ns_len = simple_impl_->node_->get_effective_namespace().length();
98+
std::string param_base_name = getTopic().substr(ns_len);
99+
std::replace(param_base_name.begin(), param_base_name.end(), '/', '.');
100+
101+
std::string param_name = param_base_name + "." + parameter_name;
102+
103+
return simple_impl_->node_->get_parameter(param_name, value);
98104
}
99105
return false;
100106
}

point_cloud_transport/include/point_cloud_transport/simple_subscriber_plugin.hpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,22 @@ class SimpleSubscriberPlugin : public SubscriberPlugin
8787
return {};
8888
}
8989

90+
//! template function for getting parameter of a given type
91+
template<typename T>
92+
bool getParam(const std::string & parameter_name, T & value) const
93+
{
94+
if (impl_) {
95+
uint ns_len = impl_->node_->get_effective_namespace().length();
96+
std::string param_base_name = getTopic().substr(ns_len);
97+
std::replace(param_base_name.begin(), param_base_name.end(), '/', '.');
98+
99+
std::string param_name = param_base_name + "." + parameter_name;
100+
101+
return impl_->node_->get_parameter(param_name, value);
102+
}
103+
return false;
104+
}
105+
90106
template<typename T>
91107
bool declareParam(
92108
const std::string parameter_name, const T value,

0 commit comments

Comments
 (0)