From 817777177395c07ae731457545b7f8aa849f9c31 Mon Sep 17 00:00:00 2001 From: dhood Date: Sun, 3 Dec 2017 17:12:43 -0800 Subject: [PATCH] Allow creating parameter client from constructor of Node subclass (#413) --- rclcpp/include/rclcpp/parameter_client.hpp | 6 ++++++ rclcpp/src/rclcpp/parameter_client.cpp | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/rclcpp/include/rclcpp/parameter_client.hpp b/rclcpp/include/rclcpp/parameter_client.hpp index 8d51c61..117e74a 100644 --- a/rclcpp/include/rclcpp/parameter_client.hpp +++ b/rclcpp/include/rclcpp/parameter_client.hpp @@ -63,6 +63,12 @@ public: const std::string & remote_node_name = "", const rmw_qos_profile_t & qos_profile = rmw_qos_profile_parameters); + RCLCPP_PUBLIC + AsyncParametersClient( + rclcpp::node::Node * node, + const std::string & remote_node_name = "", + const rmw_qos_profile_t & qos_profile = rmw_qos_profile_parameters); + RCLCPP_PUBLIC std::shared_future> get_parameters( diff --git a/rclcpp/src/rclcpp/parameter_client.cpp b/rclcpp/src/rclcpp/parameter_client.cpp index 2be291e..6c3e43d 100644 --- a/rclcpp/src/rclcpp/parameter_client.cpp +++ b/rclcpp/src/rclcpp/parameter_client.cpp @@ -101,6 +101,19 @@ AsyncParametersClient::AsyncParametersClient( qos_profile) {} +AsyncParametersClient::AsyncParametersClient( + rclcpp::node::Node * node, + const std::string & remote_node_name, + const rmw_qos_profile_t & qos_profile) +: AsyncParametersClient( + node->get_node_base_interface(), + node->get_node_topics_interface(), + node->get_node_graph_interface(), + node->get_node_services_interface(), + remote_node_name, + qos_profile) +{} + std::shared_future> AsyncParametersClient::get_parameters( const std::vector & names,