From ce5de8757d6a00005980040d88ea2d59d3dbeda5 Mon Sep 17 00:00:00 2001 From: Jacob Perron Date: Mon, 3 Aug 2020 12:10:27 -0700 Subject: [PATCH] Warn about unused result of add_on_set_parameters_callback (#1238) (#1244) If the user doesn't retain a reference to the returned shared pointer there will be zero references and their callback will be unregistered. Signed-off-by: Jacob Perron --- rclcpp/include/rclcpp/node.hpp | 3 +++ rclcpp/include/rclcpp/node_interfaces/node_parameters.hpp | 3 +++ rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp | 3 +++ 3 files changed, 9 insertions(+) diff --git a/rclcpp/include/rclcpp/node.hpp b/rclcpp/include/rclcpp/node.hpp index 08e42bd..b0e3528 100644 --- a/rclcpp/include/rclcpp/node.hpp +++ b/rclcpp/include/rclcpp/node.hpp @@ -26,6 +26,8 @@ #include #include +#include "rcutils/macros.h" + #include "rcl/error_handling.h" #include "rcl/node.h" @@ -812,6 +814,7 @@ public: * \throws std::bad_alloc if the allocation of the OnSetParametersCallbackHandle fails. */ RCLCPP_PUBLIC + RCUTILS_WARN_UNUSED OnSetParametersCallbackHandle::SharedPtr add_on_set_parameters_callback(OnParametersSetCallbackType callback); diff --git a/rclcpp/include/rclcpp/node_interfaces/node_parameters.hpp b/rclcpp/include/rclcpp/node_interfaces/node_parameters.hpp index cf26768..88817cb 100644 --- a/rclcpp/include/rclcpp/node_interfaces/node_parameters.hpp +++ b/rclcpp/include/rclcpp/node_interfaces/node_parameters.hpp @@ -21,6 +21,8 @@ #include #include +#include "rcutils/macros.h" + #include "rcl_interfaces/msg/list_parameters_result.hpp" #include "rcl_interfaces/msg/parameter_descriptor.hpp" #include "rcl_interfaces/msg/parameter_event.hpp" @@ -160,6 +162,7 @@ public: list_parameters(const std::vector & prefixes, uint64_t depth) const override; RCLCPP_PUBLIC + RCUTILS_WARN_UNUSED OnSetParametersCallbackHandle::SharedPtr add_on_set_parameters_callback(OnParametersSetCallbackType callback) override; diff --git a/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp b/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp index bd2327f..e291d19 100644 --- a/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp +++ b/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp @@ -42,6 +42,8 @@ #include #include +#include "rcutils/macros.h" + #include "rcl/error_handling.h" #include "rcl/node.h" @@ -456,6 +458,7 @@ public: * \sa rclcpp::Node::add_on_set_parameters_callback */ RCLCPP_LIFECYCLE_PUBLIC + RCUTILS_WARN_UNUSED rclcpp_lifecycle::LifecycleNode::OnSetParametersCallbackHandle::SharedPtr add_on_set_parameters_callback( rclcpp_lifecycle::LifecycleNode::OnParametersSetCallbackType callback);