Skip to content
Snippets Groups Projects
Unverified Commit 1f723818 authored by G.Doisy's avatar G.Doisy Committed by GitHub
Browse files

[nav2_lifecycle_manager] Support namespaced LifecycleManagers (#2309)

* remove '/' from node name

* add namespace argument

* use namespace for service client node creation

* ns instead of namespace_

* const

* ns instead of namespace_ in lifecycle_node too

* lint
parent b41491a5
No related branches found
No related tags found
No related merge requests found
......@@ -45,7 +45,7 @@ public:
/**
* @brief A constructor for LifeCycleMangerClient
*/
explicit LifecycleManagerClient(const std::string & name);
explicit LifecycleManagerClient(const std::string & name, const std::string & ns = "");
// Client-side interface to the Nav2 lifecycle manager
/**
......
......@@ -26,13 +26,15 @@ namespace nav2_lifecycle_manager
{
using nav2_util::geometry_utils::orientationAroundZAxis;
LifecycleManagerClient::LifecycleManagerClient(const std::string & name)
LifecycleManagerClient::LifecycleManagerClient(
const std::string & name,
const std::string & ns)
{
manage_service_name_ = name + std::string("/manage_nodes");
active_service_name_ = name + std::string("/is_active");
// Create the node to use for all of the service clients
node_ = std::make_shared<rclcpp::Node>(name + "_service_client");
node_ = std::make_shared<rclcpp::Node>(name + "_service_client", ns);
// Create the service clients
manager_client_ = node_->create_client<ManageLifecycleNodes>(manage_service_name_);
......
......@@ -52,7 +52,7 @@ public:
*/
LifecycleNode(
const std::string & node_name,
const std::string & namespace_ = "",
const std::string & ns = "",
bool use_rclcpp_node = false,
const rclcpp::NodeOptions & options = rclcpp::NodeOptions());
virtual ~LifecycleNode();
......
......@@ -42,9 +42,9 @@ namespace nav2_util
LifecycleNode::LifecycleNode(
const std::string & node_name,
const std::string & namespace_, bool use_rclcpp_node,
const std::string & ns, bool use_rclcpp_node,
const rclcpp::NodeOptions & options)
: rclcpp_lifecycle::LifecycleNode(node_name, namespace_, options),
: rclcpp_lifecycle::LifecycleNode(node_name, ns, options),
use_rclcpp_node_(use_rclcpp_node)
{
// server side never times out from lifecycle manager
......@@ -60,7 +60,7 @@ LifecycleNode::LifecycleNode(
new_args.push_back(std::string("__node:=") + this->get_name() + "_rclcpp_node");
new_args.push_back("--");
rclcpp_node_ = std::make_shared<rclcpp::Node>(
"_", namespace_, rclcpp::NodeOptions(options).arguments(new_args));
"_", ns, rclcpp::NodeOptions(options).arguments(new_args));
rclcpp_thread_ = std::make_unique<NodeThread>(rclcpp_node_);
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment