From 7e5e75a748ff739ef5915ced3572aa53e6b77f47 Mon Sep 17 00:00:00 2001 From: William Woodall Date: Fri, 1 Feb 2019 08:49:51 -0800 Subject: [PATCH] replace create_parameter with declare_parameter Signed-off-by: William Woodall --- rclcpp/include/rclcpp/node.hpp | 13 ++++++++++++- .../rclcpp/node_interfaces/node_parameters.hpp | 4 ++-- .../node_interfaces/node_parameters_interface.hpp | 2 +- rclcpp/src/rclcpp/node.cpp | 4 ++-- .../src/rclcpp/node_interfaces/node_parameters.cpp | 2 +- rclcpp/test/test_node_initial_parameters.cpp | 6 +++--- 6 files changed, 21 insertions(+), 10 deletions(-) diff --git a/rclcpp/include/rclcpp/node.hpp b/rclcpp/include/rclcpp/node.hpp index d237b1ec1b..813b55c97e 100644 --- a/rclcpp/include/rclcpp/node.hpp +++ b/rclcpp/include/rclcpp/node.hpp @@ -281,11 +281,22 @@ class Node : public std::enable_shared_from_this */ RCLCPP_PUBLIC void - create_parameter( + declare_parameter( const std::string & name, const rclcpp::ParameterValue & default_value = rclcpp::ParameterValue(), bool read_only = false); + /// Declare and initialize a parameter with a type. + /** + * See the non-templated declare_parameter() on this class for details. + */ + template + void + declare_parameter( + const std::string & name, + const ParameterT & default_value, + bool read_only = false); + RCLCPP_PUBLIC std::vector set_parameters(const std::vector & parameters); diff --git a/rclcpp/include/rclcpp/node_interfaces/node_parameters.hpp b/rclcpp/include/rclcpp/node_interfaces/node_parameters.hpp index 59dd27e373..57390afe13 100644 --- a/rclcpp/include/rclcpp/node_interfaces/node_parameters.hpp +++ b/rclcpp/include/rclcpp/node_interfaces/node_parameters.hpp @@ -43,7 +43,7 @@ namespace node_interfaces // Internal struct for holding useful info about parameters struct ParameterInfo { - /// True if a user called create_parameter() + /// True if a user called declare_parameter() bool is_declared = false; /// Current value of the parameter. @@ -76,7 +76,7 @@ class NodeParameters : public NodeParametersInterface RCLCPP_PUBLIC void - create_parameter( + declare_parameter( const std::string & name, const rclcpp::ParameterValue & default_value, bool read_only) override; diff --git a/rclcpp/include/rclcpp/node_interfaces/node_parameters_interface.hpp b/rclcpp/include/rclcpp/node_interfaces/node_parameters_interface.hpp index 55ba7855a7..d0d0b7d546 100644 --- a/rclcpp/include/rclcpp/node_interfaces/node_parameters_interface.hpp +++ b/rclcpp/include/rclcpp/node_interfaces/node_parameters_interface.hpp @@ -52,7 +52,7 @@ class NodeParametersInterface RCLCPP_PUBLIC virtual void - create_parameter( + declare_parameter( const std::string & name, const rclcpp::ParameterValue & default_value = rclcpp::ParameterValue(), bool read_only = false) = 0; diff --git a/rclcpp/src/rclcpp/node.cpp b/rclcpp/src/rclcpp/node.cpp index f12bd7a87b..35972fe3c5 100644 --- a/rclcpp/src/rclcpp/node.cpp +++ b/rclcpp/src/rclcpp/node.cpp @@ -135,12 +135,12 @@ Node::group_in_node(rclcpp::callback_group::CallbackGroup::SharedPtr group) } void -Node::create_parameter( +Node::declare_parameter( const std::string & name, const rclcpp::ParameterValue & default_value, bool read_only) { - return this->node_parameters_->create_parameter(name, default_value, read_only); + return this->node_parameters_->declare_parameter(name, default_value, read_only); } std::vector diff --git a/rclcpp/src/rclcpp/node_interfaces/node_parameters.cpp b/rclcpp/src/rclcpp/node_interfaces/node_parameters.cpp index 6ae5c5bca2..6c4198b651 100644 --- a/rclcpp/src/rclcpp/node_interfaces/node_parameters.cpp +++ b/rclcpp/src/rclcpp/node_interfaces/node_parameters.cpp @@ -162,7 +162,7 @@ NodeParameters::~NodeParameters() {} void -NodeParameters::create_parameter( +NodeParameters::declare_parameter( const std::string & name, const rclcpp::ParameterValue & default_value, bool read_only) diff --git a/rclcpp/test/test_node_initial_parameters.cpp b/rclcpp/test/test_node_initial_parameters.cpp index d1f6b4b7be..c6d11001ee 100644 --- a/rclcpp/test/test_node_initial_parameters.cpp +++ b/rclcpp/test/test_node_initial_parameters.cpp @@ -78,9 +78,9 @@ TEST_F(TestNodeWithInitialValues, multiple_declared_initial_values) { auto node = rclcpp::Node::make_shared( "node_name", "", context, arguments, initial_values, use_global_arguments, use_intra_process); - node->create_parameter("foo"); - node->create_parameter("bar"); - node->create_parameter("baz"); + node->declare_parameter("foo"); + node->declare_parameter("bar"); + node->declare_parameter("baz"); auto list_params_result = node->list_parameters({}, 0); EXPECT_TRUE(node->get_parameter("foo").get_value());