From 11778f5048dc0d533953dae02b1ec252f36bb578 Mon Sep 17 00:00:00 2001 From: Steve Macenski Date: Sat, 4 Mar 2023 13:13:56 -0800 Subject: [PATCH] add get_fully_qualified_name to rclcpp_lifecycle (#2115) Signed-off-by: stevemacenski --- .../include/rclcpp_lifecycle/lifecycle_node.hpp | 9 +++++++++ rclcpp_lifecycle/src/lifecycle_node.cpp | 6 ++++++ rclcpp_lifecycle/test/test_lifecycle_node.cpp | 1 + 3 files changed, 16 insertions(+) diff --git a/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp b/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp index 50d4717ec3..9fec474710 100644 --- a/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp +++ b/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp @@ -172,6 +172,15 @@ class LifecycleNode : public node_interfaces::LifecycleNodeInterface, const char * get_namespace() const; + /// Get the fully-qualified name of the node. + /** + * The fully-qualified name includes the local namespace and name of the node. + * \return fully-qualified name of the node. + */ + RCLCPP_PUBLIC + const char * + get_fully_qualified_name() const; + /// Get the logger of the node. /** * \return The logger of the node. diff --git a/rclcpp_lifecycle/src/lifecycle_node.cpp b/rclcpp_lifecycle/src/lifecycle_node.cpp index 723c7bc8c1..a57a95e6be 100644 --- a/rclcpp_lifecycle/src/lifecycle_node.cpp +++ b/rclcpp_lifecycle/src/lifecycle_node.cpp @@ -165,6 +165,12 @@ LifecycleNode::get_namespace() const return node_base_->get_namespace(); } +const char * +LifecycleNode::get_fully_qualified_name() const +{ + return node_base_->get_fully_qualified_name(); +} + rclcpp::Logger LifecycleNode::get_logger() const { diff --git a/rclcpp_lifecycle/test/test_lifecycle_node.cpp b/rclcpp_lifecycle/test/test_lifecycle_node.cpp index e1863a4d39..31850c589b 100644 --- a/rclcpp_lifecycle/test/test_lifecycle_node.cpp +++ b/rclcpp_lifecycle/test/test_lifecycle_node.cpp @@ -229,6 +229,7 @@ TEST_F(TestDefaultStateMachine, empty_initializer) { auto test_node = std::make_shared("testnode"); EXPECT_STREQ("testnode", test_node->get_name()); EXPECT_STREQ("/", test_node->get_namespace()); + EXPECT_STREQ("/testnode", test_node->get_fully_qualified_name()); EXPECT_EQ(State::PRIMARY_STATE_UNCONFIGURED, test_node->get_current_state().id()); }