diff --git a/CMakeLists.txt b/CMakeLists.txt index c8487612..f7f5af88 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,7 @@ find_package(ament_cmake REQUIRED) find_package(rclcpp REQUIRED) find_package(rmw_implementation_cmake REQUIRED) find_package(std_msgs REQUIRED) +find_package(xmlrpcpp REQUIRED) # find ROS 1 packages set(cmake_extras_files cmake/find_ros1_package.cmake cmake/find_ros1_interface_packages.cmake) diff --git a/package.xml b/package.xml index 995a45aa..59381ffd 100644 --- a/package.xml +++ b/package.xml @@ -25,6 +25,7 @@ rcutils rmw_implementation_cmake std_msgs + xmlrpcpp pkg-config diff --git a/src/parameter_bridge.cpp b/src/parameter_bridge.cpp index 55d74bc0..a16244e1 100644 --- a/src/parameter_bridge.cpp +++ b/src/parameter_bridge.cpp @@ -27,6 +27,7 @@ // include ROS 2 #include "rclcpp/rclcpp.hpp" +#include #include "ros1_bridge/bridge.hpp" @@ -131,6 +132,13 @@ rclcpp::QoS qos_from_params(XmlRpc::XmlRpcValue qos_params) "failed to create parametrize deadline: '%s'\n", e.what()); } + catch (XmlRpc::XmlRpcException &e) + { + fprintf( + stderr, + "failed to create parametrize deadline: '%s'\n", + e.getMessage().c_str()); + } } if (qos_params.hasMember("lifespan")) @@ -150,6 +158,13 @@ rclcpp::QoS qos_from_params(XmlRpc::XmlRpcValue qos_params) "failed to create parametrize lifespan: '%s'\n", e.what()); } + catch (XmlRpc::XmlRpcException &e) + { + fprintf( + stderr, + "failed to create parametrize lifespan: '%s'\n", + e.getMessage().c_str()); + } } if (qos_params.hasMember("liveliness")) @@ -167,6 +182,13 @@ rclcpp::QoS qos_from_params(XmlRpc::XmlRpcValue qos_params) "failed to create parametrize liveliness: '%s'\n", e.what()); } + catch (XmlRpc::XmlRpcException &e) + { + fprintf( + stderr, + "failed to create parametrize liveliness: '%s'\n", + e.getMessage().c_str()); + } } if (qos_params.hasMember("liveliness_lease_duration")) @@ -186,6 +208,13 @@ rclcpp::QoS qos_from_params(XmlRpc::XmlRpcValue qos_params) "failed to create parametrize liveliness_lease_duration: '%s'\n", e.what()); } + catch (XmlRpc::XmlRpcException &e) + { + fprintf( + stderr, + "failed to create parametrize liveliness_lease_duration: '%s'\n", + e.getMessage().c_str()); + } } } else