use new error handling API from rcutils (#314)

* use new error handling API from rcutils

Signed-off-by: William Woodall <william@osrfoundation.org>

* use semicolons after macros

Signed-off-by: William Woodall <william@osrfoundation.org>

* use new error handling API from rcutils

Signed-off-by: William Woodall <william@osrfoundation.org>

* minimize vertical whitespace

Signed-off-by: William Woodall <william@osrfoundation.org>

* use semicolons after macros

Signed-off-by: William Woodall <william@osrfoundation.org>
This commit is contained in:
William Woodall 2018-11-01 21:08:31 -05:00 committed by GitHub
parent 765de78140
commit 4d8cb487f8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
64 changed files with 1131 additions and 1314 deletions

View file

@ -25,7 +25,6 @@ extern "C"
#include "rcl_action/visibility_control.h"
#include "rcl/wait.h"
/// Add a rcl_action_client_t to a wait set.
/**
* This function will add the underlying service clients and subscriber to the wait set.

View file

@ -19,7 +19,6 @@ extern "C"
#include "rcl_action/goal_state_machine.h"
typedef rcl_action_goal_state_t
(* rcl_action_goal_event_handler)(rcl_action_goal_state_t, rcl_action_goal_event_t);

View file

@ -29,15 +29,15 @@ rcl_action_get_goal_service_name(
char ** goal_service_name)
{
RCL_CHECK_ALLOCATOR_WITH_MSG(&allocator, "allocator is invalid", return RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(action_name, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(goal_service_name, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(action_name, RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(goal_service_name, RCL_RET_INVALID_ARGUMENT);
if (NULL != *goal_service_name) {
RCL_SET_ERROR_MSG("writing action goal service name may leak memory", allocator);
RCL_SET_ERROR_MSG("writing action goal service name may leak memory");
return RCL_RET_INVALID_ARGUMENT;
}
*goal_service_name = rcutils_format_string(allocator, "%s/_action/send_goal", action_name);
if (NULL == *goal_service_name) {
RCL_SET_ERROR_MSG("failed to allocate memory for action goal service name", allocator);
RCL_SET_ERROR_MSG("failed to allocate memory for action goal service name");
return RCL_RET_BAD_ALLOC;
}
return RCL_RET_OK;
@ -50,15 +50,15 @@ rcl_action_get_cancel_service_name(
char ** cancel_service_name)
{
RCL_CHECK_ALLOCATOR_WITH_MSG(&allocator, "allocator is invalid", return RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(action_name, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(cancel_service_name, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(action_name, RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(cancel_service_name, RCL_RET_INVALID_ARGUMENT);
if (NULL != *cancel_service_name) {
RCL_SET_ERROR_MSG("writing action cancel service name may leak memory", allocator);
RCL_SET_ERROR_MSG("writing action cancel service name may leak memory");
return RCL_RET_INVALID_ARGUMENT;
}
*cancel_service_name = rcutils_format_string(allocator, "%s/_action/cancel_goal", action_name);
if (NULL == *cancel_service_name) {
RCL_SET_ERROR_MSG("failed to allocate memory for action cancel service name", allocator);
RCL_SET_ERROR_MSG("failed to allocate memory for action cancel service name");
return RCL_RET_BAD_ALLOC;
}
return RCL_RET_OK;
@ -71,16 +71,16 @@ rcl_action_get_result_service_name(
char ** result_service_name)
{
RCL_CHECK_ALLOCATOR_WITH_MSG(&allocator, "allocator is invalid", return RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(action_name, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(result_service_name, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(action_name, RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(result_service_name, RCL_RET_INVALID_ARGUMENT);
if (NULL != *result_service_name) {
RCL_SET_ERROR_MSG("writing action result service name may leak memory", allocator);
RCL_SET_ERROR_MSG("writing action result service name may leak memory");
return RCL_RET_INVALID_ARGUMENT;
}
*result_service_name = rcutils_format_string(allocator, "%s/_action/get_result", action_name);
if (NULL == *result_service_name) {
RCL_SET_ERROR_MSG("failed to allocate memory for action result service name", allocator);
RCL_SET_ERROR_MSG("failed to allocate memory for action result service name");
return RCL_RET_BAD_ALLOC;
}
return RCL_RET_OK;
@ -93,15 +93,15 @@ rcl_action_get_feedback_topic_name(
char ** feedback_topic_name)
{
RCL_CHECK_ALLOCATOR_WITH_MSG(&allocator, "allocator is invalid", return RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(action_name, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(feedback_topic_name, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(action_name, RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(feedback_topic_name, RCL_RET_INVALID_ARGUMENT);
if (NULL != *feedback_topic_name) {
RCL_SET_ERROR_MSG("writing action feedback topic name may leak memory", allocator);
RCL_SET_ERROR_MSG("writing action feedback topic name may leak memory");
return RCL_RET_INVALID_ARGUMENT;
}
*feedback_topic_name = rcutils_format_string(allocator, "%s/_action/feedback", action_name);
if (NULL == *feedback_topic_name) {
RCL_SET_ERROR_MSG("failed to allocate memory for action feedback topic name", allocator);
RCL_SET_ERROR_MSG("failed to allocate memory for action feedback topic name");
return RCL_RET_BAD_ALLOC;
}
return RCL_RET_OK;
@ -114,15 +114,15 @@ rcl_action_get_status_topic_name(
char ** status_topic_name)
{
RCL_CHECK_ALLOCATOR_WITH_MSG(&allocator, "allocator is invalid", return RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(action_name, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(status_topic_name, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(action_name, RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(status_topic_name, RCL_RET_INVALID_ARGUMENT);
if (NULL != *status_topic_name) {
RCL_SET_ERROR_MSG("writing action status topic name may leak memory", allocator);
RCL_SET_ERROR_MSG("writing action status topic name may leak memory");
return RCL_RET_INVALID_ARGUMENT;
}
*status_topic_name = rcutils_format_string(allocator, "%s/_action/status", action_name);
if (NULL == *status_topic_name) {
RCL_SET_ERROR_MSG("failed to allocate memory for action status topic name", allocator);
RCL_SET_ERROR_MSG("failed to allocate memory for action status topic name");
return RCL_RET_BAD_ALLOC;
}
return RCL_RET_OK;

View file

@ -20,7 +20,6 @@ extern "C"
#include "rcl/error_handling.h"
rcl_action_goal_info_t
rcl_action_get_zero_initialized_goal_info(void)
{
@ -56,10 +55,10 @@ rcl_action_goal_status_array_init(
const rcl_allocator_t allocator)
{
RCL_CHECK_ALLOCATOR_WITH_MSG(&allocator, "invalid allocator", return RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(status_array, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(status_array, RCL_RET_INVALID_ARGUMENT);
// Ensure status array is zero initialized
if (status_array->status_list.size > 0) {
RCL_SET_ERROR_MSG("status_array already inititalized", allocator);
RCL_SET_ERROR_MSG("status_array already inititalized");
return RCL_RET_ALREADY_INIT;
}
// Allocate space for status array
@ -78,7 +77,7 @@ rcl_action_goal_status_array_fini(
const rcl_allocator_t allocator)
{
RCL_CHECK_ALLOCATOR_WITH_MSG(&allocator, "invalid allocator", return RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(status_array, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(status_array, RCL_RET_INVALID_ARGUMENT);
if (!status_array->status_list.data) {
return RCL_RET_INVALID_ARGUMENT;
}
@ -93,10 +92,10 @@ rcl_action_cancel_response_init(
const rcl_allocator_t allocator)
{
RCL_CHECK_ALLOCATOR_WITH_MSG(&allocator, "invalid allocator", return RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(cancel_response, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(cancel_response, RCL_RET_INVALID_ARGUMENT);
// Ensure cancel response is zero initialized
if (cancel_response->goals_canceling.size > 0) {
RCL_SET_ERROR_MSG("cancel_response already inititalized", allocator);
RCL_SET_ERROR_MSG("cancel_response already inititalized");
return RCL_RET_ALREADY_INIT;
}
// Allocate space for cancel response
@ -115,7 +114,7 @@ rcl_action_cancel_response_fini(
const rcl_allocator_t allocator)
{
RCL_CHECK_ALLOCATOR_WITH_MSG(&allocator, "invalid allocator", return RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(cancel_response, RCL_RET_INVALID_ARGUMENT, allocator);
RCL_CHECK_ARGUMENT_FOR_NULL(cancel_response, RCL_RET_INVALID_ARGUMENT);
if (!cancel_response->goals_canceling.data) {
return RCL_RET_INVALID_ARGUMENT;
}

View file

@ -15,7 +15,6 @@
#include "rcl_action/types.h"
TEST(TestActionTypes, test_get_zero_inititalized_goal_info)
{
rcl_action_goal_info_t goal_info = rcl_action_get_zero_initialized_goal_info();