Description
I was working on a feature using rclcpp_lifecycle::LifecycleNode
to declare a parameter when I noticed that the declare_parameter
API on the lifecycle node interface does not include the ignore_overrides
flag as does the version in rclcpp::Node
. It seems that in addition to this, there are a handful of functions that have yet to be implemented in the lifecycle node. From a brief comparison (I didn't check all the signatures so there could be other differences), I found these functions that are missing:
get_fully_qualified_name()
declare_parameter
(missingignore_overrides
argument)add_on_set_parameters_callback(OnParametersSetCallbackType callback);
remove_on_set_parameters_callback(const OnSetParametersCallbackHandle * const handler);
get_sub_namespace()
get_effective_namespace()
create_sub_node()
assert_liveliness()
I think some PRs to implement the above functions and close the gap on the common node API is a solution, but I also would propose a discussion on a common interface by which these nodes must abide. Apparently these APIs can go out of sync with new changes, so I'd like to hear thoughts on how to better synchronize these Node classes.