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: ...@@ -45,7 +45,7 @@ public:
/** /**
* @brief A constructor for LifeCycleMangerClient * @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 // Client-side interface to the Nav2 lifecycle manager
/** /**
......
...@@ -26,13 +26,15 @@ namespace nav2_lifecycle_manager ...@@ -26,13 +26,15 @@ namespace nav2_lifecycle_manager
{ {
using nav2_util::geometry_utils::orientationAroundZAxis; 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"); manage_service_name_ = name + std::string("/manage_nodes");
active_service_name_ = name + std::string("/is_active"); active_service_name_ = name + std::string("/is_active");
// Create the node to use for all of the service clients // 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 // Create the service clients
manager_client_ = node_->create_client<ManageLifecycleNodes>(manage_service_name_); manager_client_ = node_->create_client<ManageLifecycleNodes>(manage_service_name_);
......
...@@ -52,7 +52,7 @@ public: ...@@ -52,7 +52,7 @@ public:
*/ */
LifecycleNode( LifecycleNode(
const std::string & node_name, const std::string & node_name,
const std::string & namespace_ = "", const std::string & ns = "",
bool use_rclcpp_node = false, bool use_rclcpp_node = false,
const rclcpp::NodeOptions & options = rclcpp::NodeOptions()); const rclcpp::NodeOptions & options = rclcpp::NodeOptions());
virtual ~LifecycleNode(); virtual ~LifecycleNode();
......
...@@ -42,9 +42,9 @@ namespace nav2_util ...@@ -42,9 +42,9 @@ namespace nav2_util
LifecycleNode::LifecycleNode( LifecycleNode::LifecycleNode(
const std::string & node_name, 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) const rclcpp::NodeOptions & options)
: rclcpp_lifecycle::LifecycleNode(node_name, namespace_, options), : rclcpp_lifecycle::LifecycleNode(node_name, ns, options),
use_rclcpp_node_(use_rclcpp_node) use_rclcpp_node_(use_rclcpp_node)
{ {
// server side never times out from lifecycle manager // server side never times out from lifecycle manager
...@@ -60,7 +60,7 @@ LifecycleNode::LifecycleNode( ...@@ -60,7 +60,7 @@ LifecycleNode::LifecycleNode(
new_args.push_back(std::string("__node:=") + this->get_name() + "_rclcpp_node"); new_args.push_back(std::string("__node:=") + this->get_name() + "_rclcpp_node");
new_args.push_back("--"); new_args.push_back("--");
rclcpp_node_ = std::make_shared<rclcpp::Node>( 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_); 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