|
rmw
master
C API providing a middleware abstraction layer which is used to implement the rest of ROS.
|
#include "rmw/macros.h"#include "rmw/names_and_types.h"#include "rmw/types.h"#include "rmw/visibility_control.h"
Go to the source code of this file.
Functions | |
| rmw_ret_t | rmw_get_service_names_and_types (const rmw_node_t *node, rcutils_allocator_t *allocator, rmw_names_and_types_t *service_names_and_types) |
| Return all service names and types in the ROS graph. More... | |
| rmw_ret_t rmw_get_service_names_and_types | ( | const rmw_node_t * | node, |
| rcutils_allocator_t * | allocator, | ||
| rmw_names_and_types_t * | service_names_and_types | ||
| ) |
Return all service names and types in the ROS graph.
This function returns an array of all service names and types in the ROS graph i.e. for which a server and/or client exists, as discovered so far by the given local node.
| Attribute | Adherence |
|---|---|
| Allocates Memory | Yes |
| Thread-Safe | Yes |
| Uses Atomics | Maybe [1] |
| Lock-Free | Maybe [1] |
[1] rmw implementation defined, check the implementation documentation
service_names_and_types while rmw_get_service_names_and_types() uses it.allocator may not be. Check your allocator documentation for further reference.node must be a valid node handle, as returned by rmw_create_node(). services_names_and_types must be a zero-initialized array of names and types, as returned by rmw_get_zero_initialized_names_and_types().| [in] | node | Node to query the ROS graph. |
| [in] | allocator | Allocator to be used when populating the service_names_and_types array. |
| [out] | service_names_and_types | Array of service names and their types, populated on success but left unchanged on failure. If populated, it is up to the caller to finalize this array later on using rmw_names_and_types_fini(). |
RMW_RET_OK if the query was successful, or RMW_RET_INVALID_ARGUMENT if node is NULL, or RMW_RET_INVALID_ARGUMENT if allocator is not valid, by rcutils_allocator_is_valid() definition, or RMW_RET_INVALID_ARGUMENT if service_names_and_types is NULL, or RMW_RET_INVALID_ARGUMENT if service_names_and_types is not a zero-initialized array, or RMW_RET_INCORRECT_RMW_IMPLEMENTATION if the node implementation identifier does not match this implementation, or RMW_RET_BAD_ALLOC if memory allocation fails, or RMW_RET_ERROR if an unspecified error occurs.
1.8.17