replace switch of callback type via ROS distro check with template type

This commit is contained in:
Christian Rauch
2025-09-27 09:14:23 +08:00
committed by obyalian
parent 8254e28a94
commit 5448f656cb
3 changed files with 5 additions and 24 deletions
-6
View File
@@ -14,12 +14,6 @@ option(USE_NV_HW_DECODER "Use Nvidia hardware decoder" OFF)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Werror -Wno-pedantic -Wno-array-bounds)
endif()
# Check if ROS Jazzy or iron is installed
if("$ENV{ROS_DISTRO}" STREQUAL "jazzy")
add_compile_definitions(ROS_JAZZY)
elseif("$ENV{ROS_DISTRO}" STREQUAL "iron")
add_compile_definitions(ROS_IRON)
endif()
# find dependencies
set(dependencies
@@ -22,13 +22,11 @@ class ParametersBackend {
public:
explicit ParametersBackend(rclcpp::Node* node);
~ParametersBackend();
#if defined(ROS_JAZZY) || defined(ROS_IRON)
void addOnSetParametersCallback(
rclcpp::node_interfaces::NodeParametersInterface::OnSetParametersCallbackType callback);
#else
void addOnSetParametersCallback(
rclcpp::node_interfaces::NodeParametersInterface::OnParametersSetCallbackType callback);
#endif
template <typename T>
void addOnSetParametersCallback(T callback) {
ros_callback_ = node_->add_on_set_parameters_callback(callback);
}
private:
rclcpp::Node* node_;
-11
View File
@@ -26,16 +26,5 @@ ParametersBackend::~ParametersBackend() {
ros_callback_.reset();
}
}
#if defined(ROS_JAZZY) || defined(ROS_IRON)
void ParametersBackend::addOnSetParametersCallback(
rclcpp::node_interfaces::NodeParametersInterface::OnSetParametersCallbackType callback) {
ros_callback_ = node_->add_on_set_parameters_callback(callback);
}
#else
void ParametersBackend::addOnSetParametersCallback(
rclcpp::node_interfaces::NodeParametersInterface::OnParametersSetCallbackType callback) {
ros_callback_ = node_->add_on_set_parameters_callback(callback);
}
#endif
} // namespace orbbec_camera