diff --git a/rclcpp_action/src/server.cpp b/rclcpp_action/src/server.cpp index 1abb85e6cd..68ef6dfc3d 100644 --- a/rclcpp_action/src/server.cpp +++ b/rclcpp_action/src/server.cpp @@ -201,7 +201,7 @@ ServerBase::execute_goal_request_received() pimpl_->goal_request_ready_ = false; std::array uuid = get_goal_id_from_goal_request(message.get()); for (size_t i = 0; i < 16; ++i) { - goal_info.uuid[i] = uuid[i]; + goal_info.goal_id.uuid[i] = uuid[i]; } // Call user's callback, getting the user's response and a ros message to send back @@ -275,7 +275,7 @@ ServerBase::execute_cancel_request_received() // Convert c++ message to C message rcl_action_cancel_request_t cancel_request = rcl_action_get_zero_initialized_cancel_request(); for (size_t i = 0; i < 16; ++i) { - cancel_request.goal_info.uuid[i] = request->goal_info.uuid[i]; + cancel_request.goal_info.goal_id.uuid[i] = request->goal_info.goal_id.uuid[i]; } cancel_request.goal_info.stamp.sec = request->goal_info.stamp.sec; cancel_request.goal_info.stamp.nanosec = request->goal_info.stamp.nanosec; @@ -295,7 +295,7 @@ ServerBase::execute_cancel_request_received() const rcl_action_goal_info_t & goal_info = goals.data[i]; std::array uuid; for (size_t i = 0; i < 16; ++i) { - uuid[i] = goal_info.uuid[i]; + uuid[i] = goal_info.goal_id.uuid[i]; } auto response_pair = call_handle_cancel_callback(uuid); if (CancelResponse::ACCEPT == response_pair.first) { @@ -306,7 +306,7 @@ ServerBase::execute_cancel_request_received() rclcpp::exceptions::throw_from_rcl_error(ret); } else { action_msgs::msg::GoalInfo cpp_info; - cpp_info.uuid = uuid; + cpp_info.goal_id.uuid = uuid; cpp_info.stamp.sec = goal_info.stamp.sec; cpp_info.stamp.nanosec = goal_info.stamp.nanosec; response->goals_canceling.push_back(cpp_info); @@ -351,7 +351,7 @@ ServerBase::execute_result_request_received() std::array uuid = get_goal_id_from_result_request(result_request.get()); rcl_action_goal_info_t goal_info; for (size_t i = 0; i < 16; ++i) { - goal_info.uuid[i] = uuid[i]; + goal_info.goal_id.uuid[i] = uuid[i]; } if (!rcl_action_server_goal_exists(pimpl_->action_server_.get(), &goal_info)) { // Goal does not exists @@ -399,7 +399,7 @@ ServerBase::execute_check_expired_goals() // A goal expired! std::array uuid; for (size_t i = 0; i < 16; ++i) { - uuid[i] = expired_goals[0].uuid[i]; + uuid[i] = expired_goals[0].goal_id.uuid[i]; } pimpl_->goal_results_.erase(uuid); pimpl_->result_requests_.erase(uuid); @@ -442,7 +442,7 @@ ServerBase::publish_status() msg.status = goal_state; // Convert C goal info to C++ goal info for (size_t i = 0; i < 16; ++i) { - msg.goal_info.uuid[i] = goal_info.uuid[i]; + msg.goal_info.goal_id.uuid[i] = goal_info.goal_id.uuid[i]; } msg.goal_info.stamp.sec = goal_info.stamp.sec; msg.goal_info.stamp.nanosec = goal_info.stamp.nanosec; @@ -463,7 +463,7 @@ ServerBase::publish_result(const std::array & uuid, std::shared_ptr // Check that the goal exists rcl_action_goal_info_t goal_info; for (size_t i = 0; i < 16; ++i) { - goal_info.uuid[i] = uuid[i]; + goal_info.goal_id.uuid[i] = uuid[i]; } if (!rcl_action_server_goal_exists(pimpl_->action_server_.get(), &goal_info)) { throw std::runtime_error("Asked to publish result for goal that does not exist"); diff --git a/rclcpp_action/test/test_server.cpp b/rclcpp_action/test/test_server.cpp index 4e88220864..748f4f75fb 100644 --- a/rclcpp_action/test/test_server.cpp +++ b/rclcpp_action/test/test_server.cpp @@ -62,7 +62,7 @@ class TestServer : public ::testing::Test throw std::runtime_error("cancel goal service didn't become available"); } auto request = std::make_shared(); - request->goal_info.uuid = uuid; + request->goal_info.goal_id.uuid = uuid; auto future = cancel_client->async_send_request(request); if (rclcpp::executor::FutureReturnCode::SUCCESS != rclcpp::spin_until_future_complete(node, future)) @@ -256,7 +256,7 @@ TEST_F(TestServer, publish_status_accepted) // Not sure whether accepted will come through because not sure when subscriber will match for (auto & msg : received_msgs) { ASSERT_EQ(1u, msg->status_list.size()); - EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.uuid); + EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.goal_id.uuid); auto status = msg->status_list.at(0).status; if (action_msgs::msg::GoalStatus::STATUS_ACCEPTED == status) { EXPECT_EQ(action_msgs::msg::GoalStatus::STATUS_ACCEPTED, status); @@ -318,7 +318,7 @@ TEST_F(TestServer, publish_status_canceling) auto & msg = received_msgs.back(); ASSERT_EQ(1u, msg->status_list.size()); EXPECT_EQ(action_msgs::msg::GoalStatus::STATUS_CANCELING, msg->status_list.at(0).status); - EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.uuid); + EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.goal_id.uuid); } TEST_F(TestServer, publish_status_canceled) @@ -375,7 +375,7 @@ TEST_F(TestServer, publish_status_canceled) auto & msg = received_msgs.back(); ASSERT_EQ(1u, msg->status_list.size()); EXPECT_EQ(action_msgs::msg::GoalStatus::STATUS_CANCELED, msg->status_list.at(0).status); - EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.uuid); + EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.goal_id.uuid); } TEST_F(TestServer, publish_status_succeeded) @@ -430,7 +430,7 @@ TEST_F(TestServer, publish_status_succeeded) auto & msg = received_msgs.back(); ASSERT_EQ(1u, msg->status_list.size()); EXPECT_EQ(action_msgs::msg::GoalStatus::STATUS_SUCCEEDED, msg->status_list.at(0).status); - EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.uuid); + EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.goal_id.uuid); } TEST_F(TestServer, publish_status_aborted) @@ -485,7 +485,7 @@ TEST_F(TestServer, publish_status_aborted) auto & msg = received_msgs.back(); ASSERT_EQ(1u, msg->status_list.size()); EXPECT_EQ(action_msgs::msg::GoalStatus::STATUS_ABORTED, msg->status_list.at(0).status); - EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.uuid); + EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.goal_id.uuid); } TEST_F(TestServer, publish_feedback)