From f26bed380d30ac4c4094ec7ae4291fa9ba3e299b Mon Sep 17 00:00:00 2001 From: Esteve Fernandez Date: Mon, 12 Jan 2015 14:36:42 -0800 Subject: [PATCH] Pass response object as parameter --- rclcpp/include/rclcpp/client.hpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/rclcpp/include/rclcpp/client.hpp b/rclcpp/include/rclcpp/client.hpp index f58694e..f9ca72c 100644 --- a/rclcpp/include/rclcpp/client.hpp +++ b/rclcpp/include/rclcpp/client.hpp @@ -43,19 +43,13 @@ public: : client_handle_(client_handle), service_name_(service_name) {} - std::shared_ptr - send_request(std::shared_ptr &req) + ::ros_middleware_interface::ROS2_RETCODE_t send_request( + std::shared_ptr &req, + std::shared_ptr &res) { ::ros_middleware_interface::send_request(client_handle_, req.get()); - std::shared_ptr res = std::make_shared(); - bool received = ::ros_middleware_interface::receive_response(client_handle_, res.get()); - if(!received) - { - // TODO: use custom exception - throw std::runtime_error("Timed out while waiting for response"); - } - return res; + return ::ros_middleware_interface::receive_response(client_handle_, res.get()); } private: