sync parameter takes optional remote node name (#380)

This commit is contained in:
Karsten Knese 2017-10-02 11:46:00 -07:00 committed by GitHub
parent 070b3125c1
commit 022b2b1b80
2 changed files with 12 additions and 6 deletions

View file

@ -170,12 +170,14 @@ public:
RCLCPP_PUBLIC RCLCPP_PUBLIC
explicit SyncParametersClient( explicit SyncParametersClient(
rclcpp::node::Node::SharedPtr node, rclcpp::node::Node::SharedPtr node,
const std::string & remote_node_name = "",
const rmw_qos_profile_t & qos_profile = rmw_qos_profile_parameters); const rmw_qos_profile_t & qos_profile = rmw_qos_profile_parameters);
RCLCPP_PUBLIC RCLCPP_PUBLIC
SyncParametersClient( SyncParametersClient(
rclcpp::executor::Executor::SharedPtr executor, rclcpp::executor::Executor::SharedPtr executor,
rclcpp::node::Node::SharedPtr node, rclcpp::node::Node::SharedPtr node,
const std::string & remote_node_name = "",
const rmw_qos_profile_t & qos_profile = rmw_qos_profile_parameters); const rmw_qos_profile_t & qos_profile = rmw_qos_profile_parameters);
RCLCPP_PUBLIC RCLCPP_PUBLIC

View file

@ -314,20 +314,24 @@ AsyncParametersClient::wait_for_service_nanoseconds(std::chrono::nanoseconds tim
SyncParametersClient::SyncParametersClient( SyncParametersClient::SyncParametersClient(
rclcpp::node::Node::SharedPtr node, rclcpp::node::Node::SharedPtr node,
const std::string & remote_node_name,
const rmw_qos_profile_t & qos_profile) const rmw_qos_profile_t & qos_profile)
: node_(node) : SyncParametersClient(
{ std::make_shared<rclcpp::executors::SingleThreadedExecutor>(),
executor_ = std::make_shared<rclcpp::executors::SingleThreadedExecutor>(); node,
async_parameters_client_ = std::make_shared<AsyncParametersClient>(node, "", qos_profile); remote_node_name,
} qos_profile)
{}
SyncParametersClient::SyncParametersClient( SyncParametersClient::SyncParametersClient(
rclcpp::executor::Executor::SharedPtr executor, rclcpp::executor::Executor::SharedPtr executor,
rclcpp::node::Node::SharedPtr node, rclcpp::node::Node::SharedPtr node,
const std::string & remote_node_name,
const rmw_qos_profile_t & qos_profile) const rmw_qos_profile_t & qos_profile)
: executor_(executor), node_(node) : executor_(executor), node_(node)
{ {
async_parameters_client_ = std::make_shared<AsyncParametersClient>(node, "", qos_profile); async_parameters_client_ =
std::make_shared<AsyncParametersClient>(node, remote_node_name, qos_profile);
} }
std::vector<rclcpp::parameter::ParameterVariant> std::vector<rclcpp::parameter::ParameterVariant>