Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion rcl/src/rcl/node.c
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,7 @@ void rcl_node_type_description_service_handle_request(
const type_description_interfaces__srv__GetTypeDescription_Request * request,
type_description_interfaces__srv__GetTypeDescription_Response * response)
{
#ifdef RCL_MICROROS_COMPLETE_IMPL
rcl_type_info_t type_info;
RCL_CHECK_FOR_NULL_WITH_MSG(node, "invalid node handle", return;);
RCL_CHECK_FOR_NULL_WITH_MSG(node->impl, "invalid node", return;);
Expand Down Expand Up @@ -638,10 +639,12 @@ void rcl_node_type_description_service_handle_request(
}

response->successful = true;
#endif //RCL_MICROROS
}

rcl_ret_t rcl_node_type_description_service_init(rcl_node_t * node)
{
#ifdef RCL_MICROROS_COMPLETE_IMPL
RCL_CHECK_ARGUMENT_FOR_NULL(node, RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(node->impl, RCL_RET_NODE_INVALID);

Expand Down Expand Up @@ -675,12 +678,15 @@ rcl_ret_t rcl_node_type_description_service_init(rcl_node_t * node)
&node->impl->get_type_description_service, node,
type_support, service_name, &service_ops);
allocator.deallocate(service_name, allocator.state);

return ret;
#else
return RCL_RET_OK;
#endif //RCL_MICROROS
}

rcl_ret_t rcl_node_type_description_service_fini(rcl_node_t * node)
{
#ifdef RCL_MICROROS_COMPLETE_IMPL
RCL_CHECK_ARGUMENT_FOR_NULL(node, RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(node->impl, RCL_RET_NODE_INVALID);
if (!rcl_service_is_valid(&node->impl->get_type_description_service)) {
Expand All @@ -695,12 +701,16 @@ rcl_ret_t rcl_node_type_description_service_fini(rcl_node_t * node)
}

return ret;
#else
return RCL_RET_OK;
#endif //RCL_MICROROS
}

rcl_ret_t rcl_node_get_type_description_service(
const rcl_node_t * node,
rcl_service_t ** service_out)
{
#ifdef RCL_MICROROS_COMPLETE_IMPL
RCL_CHECK_ARGUMENT_FOR_NULL(node, RCL_RET_INVALID_ARGUMENT);
RCL_CHECK_ARGUMENT_FOR_NULL(node->impl, RCL_RET_NODE_INVALID);
RCL_CHECK_ARGUMENT_FOR_NULL(service_out, RCL_RET_SERVICE_INVALID);
Expand All @@ -710,6 +720,7 @@ rcl_ret_t rcl_node_get_type_description_service(
}

*service_out = &node->impl->get_type_description_service;
#endif
return RCL_RET_OK;
}

Expand Down