Function rcl_action_get_client_names_and_types_by_node

Function Documentation

rcl_ret_t rcl_action_get_client_names_and_types_by_node(const rcl_node_t *node, rcl_allocator_t *allocator, const char *node_name, const char *node_namespace, rcl_names_and_types_t *action_names_and_types)

Get a list of action names and types for action clients associated with a node.

The node parameter must point to a valid node.

The action_names_and_types parameter must be allocated and zero initialized. This function allocates memory for the returned list of names and types and so it is the callers responsibility to pass action_names_and_types to rcl_names_and_types_fini() when it is no longer needed. Failing to do so will result in leaked memory.

The returned names are not automatically remapped by this function. Attempting to create action clients or action servers with names returned by this function may not result in the desired action name depending on the remap rules in use.

Attribute

Adherence

Allocates Memory

Yes

Thread-Safe

No

Uses Atomics

No

Lock-Free

Maybe [1]

[1] implementation may need to protect the data structure with a lock

Parameters:
  • node[in] the handle to the node being used to query the ROS graph

  • allocator[in] allocator for allocating space for strings

  • node_name[in] the node name of the actions to return

  • node_namespace[in] the node namespace of the actions to return

  • action_names_and_types[out] list of action names and their types

Returns:

RCL_RET_OK if the query was successful, or

Returns:

RCL_RET_NODE_INVALID if the node is invalid, or

Returns:

RCL_RET_INVALID_ARGUMENT if any arguments are invalid, or

Returns:

RCL_RET_ERROR if an unspecified error occurs.