rmw  master
C API providing a middleware abstraction layer which is used to implement the rest of ROS.
get_node_info_and_types.h
Go to the documentation of this file.
1 // Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef RMW__GET_NODE_INFO_AND_TYPES_H_
16 #define RMW__GET_NODE_INFO_AND_TYPES_H_
17 
18 #ifdef __cplusplus
19 extern "C"
20 {
21 #endif
22 
23 #include "rmw/macros.h"
24 #include "rmw/names_and_types.h"
25 #include "rmw/types.h"
26 #include "rmw/visibility_control.h"
27 
29 
58  const rmw_node_t * node,
59  rcutils_allocator_t * allocator,
60  const char * node_name,
61  const char * node_namespace,
62  bool demangle,
63  rmw_names_and_types_t * topics_names_and_types);
64 
66 
95  const rmw_node_t * node,
96  rcutils_allocator_t * allocator,
97  const char * node_name,
98  const char * node_namespace,
99  bool demangle,
100  rmw_names_and_types_t * topic_names_and_types);
101 
103 
129 rmw_ret_t
131  const rmw_node_t * node,
132  rcutils_allocator_t * allocator,
133  const char * node_name,
134  const char * node_namespace,
135  rmw_names_and_types_t * service_names_and_types);
136 
138 
165 rmw_ret_t
167  const rmw_node_t * node,
168  rcutils_allocator_t * allocator,
169  const char * node_name,
170  const char * node_namespace,
171  rmw_names_and_types_t * service_names_and_types);
172 
173 #ifdef __cplusplus
174 }
175 #endif
176 #endif // RMW__GET_NODE_INFO_AND_TYPES_H_
#define RMW_PUBLIC
Definition: visibility_control.h:48
#define RMW_WARN_UNUSED
Definition: macros.h:22
rmw_ret_t rmw_get_publisher_names_and_types_by_node(const rmw_node_t *node, rcutils_allocator_t *allocator, const char *node_name, const char *node_namespace, bool demangle, rmw_names_and_types_t *topic_names_and_types)
Return a list of published topic names and their types.
Associative array of topic or service names and types.
Definition: names_and_types.h:32
rmw_ret_t rmw_get_service_names_and_types_by_node(const rmw_node_t *node, rcutils_allocator_t *allocator, const char *node_name, const char *node_namespace, rmw_names_and_types_t *service_names_and_types)
Return a list of service topic names and their types.
rmw_ret_t rmw_get_subscriber_names_and_types_by_node(const rmw_node_t *node, rcutils_allocator_t *allocator, const char *node_name, const char *node_namespace, bool demangle, rmw_names_and_types_t *topics_names_and_types)
Return a list of subscribed topic names and their types.
std::string demangle(const T &instance)
Return the demangle name of the instance of type T.
Definition: demangle.hpp:39
int32_t rmw_ret_t
Definition: ret_types.h:25
rmw_ret_t rmw_get_client_names_and_types_by_node(const rmw_node_t *node, rcutils_allocator_t *allocator, const char *node_name, const char *node_namespace, rmw_names_and_types_t *service_names_and_types)
Return a list of service client topic names and their types.
Definition: types.h:40