diff --git a/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp b/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp index 5eed721..416bf5b 100644 --- a/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp +++ b/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp @@ -447,9 +447,29 @@ public: rcl_interfaces::msg::ListParametersResult list_parameters(const std::vector & prefixes, uint64_t depth) const; + using OnSetParametersCallbackHandle = + rclcpp::node_interfaces::OnSetParametersCallbackHandle; using OnParametersSetCallbackType = rclcpp::node_interfaces::NodeParametersInterface::OnParametersSetCallbackType; + /// Add a callback for when parameters are being set. + /** + * \sa rclcpp::Node::add_on_set_parameters_callback + */ + RCLCPP_LIFECYCLE_PUBLIC + rclcpp_lifecycle::LifecycleNode::OnSetParametersCallbackHandle::SharedPtr + add_on_set_parameters_callback( + rclcpp_lifecycle::LifecycleNode::OnParametersSetCallbackType callback); + + /// Remove a callback registered with `add_on_set_parameters_callback`. + /** + * \sa rclcpp::Node::remove_on_set_parameters_callback + */ + RCLCPP_LIFECYCLE_PUBLIC + void + remove_on_set_parameters_callback( + const rclcpp_lifecycle::LifecycleNode::OnSetParametersCallbackHandle * const handler); + /// Register a callback to be called anytime a parameter is about to be changed. /** * \sa rclcpp::Node::set_on_parameters_set_callback diff --git a/rclcpp_lifecycle/src/lifecycle_node.cpp b/rclcpp_lifecycle/src/lifecycle_node.cpp index bf78419..cdba353 100644 --- a/rclcpp_lifecycle/src/lifecycle_node.cpp +++ b/rclcpp_lifecycle/src/lifecycle_node.cpp @@ -255,6 +255,17 @@ LifecycleNode::list_parameters( return node_parameters_->list_parameters(prefixes, depth); } +rclcpp::Node::OnSetParametersCallbackHandle::SharedPtr +LifecycleNode::add_on_set_parameters_callback(OnParametersSetCallbackType callback) +{ + return node_parameters_->add_on_set_parameters_callback(callback); +} + +void +LifecycleNode::remove_on_set_parameters_callback(const OnSetParametersCallbackHandle * const callback) +{ + return node_parameters_->remove_on_set_parameters_callback(callback); + rclcpp::Node::OnParametersSetCallbackType LifecycleNode::set_on_parameters_set_callback(rclcpp::Node::OnParametersSetCallbackType callback) {