Skip to content

Commit

Permalink
replace rcl_lifecycle_ret_t with lifecycle_msgs__TRANSITION__CALLBACK*
Browse files Browse the repository at this point in the history
  • Loading branch information
Karsten1987 committed Jul 26, 2017
1 parent c9e4ce4 commit 2ed8438
Show file tree
Hide file tree
Showing 7 changed files with 94 additions and 96 deletions.
10 changes: 2 additions & 8 deletions rcl_lifecycle/include/rcl_lifecycle/data_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,7 @@ extern "C"
{
#endif

typedef int rcl_lifecycle_ret_t;
#define RCL_LIFECYCLE_RET_OK -1
#define RCL_LIFECYCLE_RET_FAILURE -2
#define RCL_LIFECYCLE_RET_ERROR -3
typedef uint8_t rcl_lifecycle_transition_key_t;

typedef struct rcl_lifecycle_transition_t rcl_lifecycle_transition_t;

Expand All @@ -45,8 +42,7 @@ typedef struct rcl_lifecycle_state_t
// is "unconfigured_shutdown". However, the user only specifies
// "shutdown". So we register the "unconfigured_shutdown"
// transition with the impuls "shutdown".
// TODO(karsten1987): Introduce new type for valid_transition_keys
rcl_lifecycle_ret_t * valid_transition_keys;
rcl_lifecycle_transition_key_t * valid_transition_keys;
rcl_lifecycle_transition_t * valid_transitions;
unsigned int valid_transition_size;
} rcl_lifecycle_state_t;
Expand All @@ -59,8 +55,6 @@ typedef struct rcl_lifecycle_transition_t
const rcl_lifecycle_state_t * goal;
} rcl_lifecycle_transition_t;

// TODO(karsten1987): Rename map as it is no
// associated array any longer
typedef struct rcl_lifecycle_transition_map_t
{
rcl_lifecycle_state_t * states;
Expand Down
4 changes: 2 additions & 2 deletions rcl_lifecycle/include/rcl_lifecycle/rcl_lifecycle.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ RCL_WARN_UNUSED
const rcl_lifecycle_transition_t *
rcl_lifecycle_is_valid_callback_transition(
rcl_lifecycle_state_machine_t * state_machine,
rcl_lifecycle_ret_t key);
rcl_lifecycle_transition_key_t key);

/// Execute a transition
/*
Expand All @@ -80,7 +80,7 @@ RCL_WARN_UNUSED
rcl_ret_t
rcl_lifecycle_trigger_transition(
rcl_lifecycle_state_machine_t * state_machine,
rcl_lifecycle_ret_t key, bool publish_notification);
rcl_lifecycle_transition_key_t key, bool publish_notification);

RCL_LIFECYCLE_PUBLIC
void
Expand Down
2 changes: 1 addition & 1 deletion rcl_lifecycle/include/rcl_lifecycle/transition_map.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ rcl_ret_t
rcl_lifecycle_register_transition(
rcl_lifecycle_transition_map_t * transition_map,
rcl_lifecycle_transition_t transition,
rcl_lifecycle_ret_t key,
rcl_lifecycle_transition_key_t key,
const rcl_allocator_t * allocator);

RCL_LIFECYCLE_PUBLIC
Expand Down
40 changes: 22 additions & 18 deletions rcl_lifecycle/src/default_state_machine.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ extern "C"
{
#endif

rcl_lifecycle_transition_key_t * empty_transition_key = NULL;
rcl_lifecycle_transition_t * empty_transition = NULL;
unsigned int empty_transition_size = 0;

// Primary States
const rcl_lifecycle_state_t rcl_state_unknown =
{"unknown", lifecycle_msgs__msg__State__PRIMARY_STATE_UNKNOWN,
Expand Down Expand Up @@ -235,23 +239,23 @@ rcl_lifecycle_init_default_state_machine(
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_configure_success,
RCL_LIFECYCLE_RET_OK,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_SUCCESS,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
}
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_configure_failure,
RCL_LIFECYCLE_RET_FAILURE,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_FAILURE,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
}
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_configure_error,
RCL_LIFECYCLE_RET_ERROR,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_ERROR,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
Expand All @@ -269,23 +273,23 @@ rcl_lifecycle_init_default_state_machine(
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_cleanup_success,
RCL_LIFECYCLE_RET_OK,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_SUCCESS,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
}
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_cleanup_failure,
RCL_LIFECYCLE_RET_FAILURE,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_FAILURE,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
}
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_cleanup_error,
RCL_LIFECYCLE_RET_ERROR,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_ERROR,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
Expand All @@ -303,23 +307,23 @@ rcl_lifecycle_init_default_state_machine(
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_activate_success,
RCL_LIFECYCLE_RET_OK,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_SUCCESS,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
}
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_activate_failure,
RCL_LIFECYCLE_RET_FAILURE,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_FAILURE,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
}
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_activate_error,
RCL_LIFECYCLE_RET_ERROR,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_ERROR,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
Expand All @@ -337,23 +341,23 @@ rcl_lifecycle_init_default_state_machine(
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_deactivate_success,
RCL_LIFECYCLE_RET_OK,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_SUCCESS,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
}
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_deactivate_failure,
RCL_LIFECYCLE_RET_FAILURE,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_FAILURE,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
}
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_deactivate_error,
RCL_LIFECYCLE_RET_ERROR,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_ERROR,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
Expand Down Expand Up @@ -387,23 +391,23 @@ rcl_lifecycle_init_default_state_machine(
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_shutdown_success,
RCL_LIFECYCLE_RET_OK,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_SUCCESS,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
}
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_shutdown_failure,
RCL_LIFECYCLE_RET_FAILURE,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_FAILURE,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
}
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_shutdown_error,
RCL_LIFECYCLE_RET_ERROR,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_ERROR,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
Expand All @@ -413,23 +417,23 @@ rcl_lifecycle_init_default_state_machine(
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_error_success,
RCL_LIFECYCLE_RET_OK,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_SUCCESS,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
}
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_error_failure,
RCL_LIFECYCLE_RET_FAILURE,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_FAILURE,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
}
ret = rcl_lifecycle_register_transition(
&state_machine->transition_map,
rcl_transition_error_error,
RCL_LIFECYCLE_RET_ERROR,
lifecycle_msgs__msg__Transition__TRANSITION_CALLBACK_ERROR,
allocator);
if (ret != RCL_RET_OK) {
goto fail;
Expand Down
4 changes: 2 additions & 2 deletions rcl_lifecycle/src/rcl_lifecycle.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ rcl_lifecycle_state_machine_is_initialized(const rcl_lifecycle_state_machine_t *
const rcl_lifecycle_transition_t *
rcl_lifecycle_is_valid_transition(
rcl_lifecycle_state_machine_t * state_machine,
rcl_lifecycle_ret_t key)
rcl_lifecycle_transition_key_t key)
{
unsigned int current_id = state_machine->current_state->id;
const rcl_lifecycle_state_t * current_state = rcl_lifecycle_get_state(
Expand All @@ -158,7 +158,7 @@ rcl_lifecycle_is_valid_transition(
rcl_ret_t
rcl_lifecycle_trigger_transition(
rcl_lifecycle_state_machine_t * state_machine,
rcl_lifecycle_ret_t key, bool publish_notification)
rcl_lifecycle_transition_key_t key, bool publish_notification)
{
const rcl_lifecycle_transition_t * transition =
rcl_lifecycle_is_valid_transition(state_machine, key);
Expand Down
6 changes: 3 additions & 3 deletions rcl_lifecycle/src/transition_map.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ rcl_ret_t
rcl_lifecycle_register_transition(
rcl_lifecycle_transition_map_t * transition_map,
rcl_lifecycle_transition_t transition,
rcl_lifecycle_ret_t key,
rcl_lifecycle_transition_key_t key,
const rcutils_allocator_t * allocator)
{
RCUTILS_CHECK_ALLOCATOR_WITH_MSG(
Expand Down Expand Up @@ -154,9 +154,9 @@ rcl_lifecycle_register_transition(
}
state->valid_transitions = new_valid_transitions;

rcl_lifecycle_ret_t * new_valid_transition_keys = allocator->reallocate(
rcl_lifecycle_transition_key_t * new_valid_transition_keys = allocator->reallocate(
state->valid_transition_keys,
state->valid_transition_size * sizeof(rcl_lifecycle_ret_t),
state->valid_transition_size * sizeof(rcl_lifecycle_transition_key_t),
allocator->state);
if (!new_valid_transitions) {
RCL_SET_ERROR_MSG(
Expand Down
Loading

0 comments on commit 2ed8438

Please sign in to comment.