rmw_fastrtps_shared_cpp  master
Code shared on static and dynamic type support of rmw_fastrtps_cpp.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
rmw_common.hpp
Go to the documentation of this file.
1 // Copyright 2016-2018 Proyectos y Sistemas de Mantenimiento SL (eProsima).
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_FASTRTPS_SHARED_CPP__RMW_COMMON_HPP_
16 #define RMW_FASTRTPS_SHARED_CPP__RMW_COMMON_HPP_
17 
18 #include "./visibility_control.h"
19 
20 #include "rmw/error_handling.h"
21 #include "rmw/event.h"
22 #include "rmw/rmw.h"
24 #include "rmw/types.h"
25 #include "rmw/names_and_types.h"
26 
28 {
29 
33  const char * identifier,
34  rmw_node_t * node,
35  rmw_client_t * client);
36 
40  const char * identifier,
41  const rmw_gid_t * gid1,
42  const rmw_gid_t * gid2,
43  bool * result);
44 
48  const char * identifier,
49  const rmw_node_t * node,
50  const char * topic_name,
51  size_t * count);
52 
56  const char * identifier,
57  const rmw_node_t * node,
58  const char * topic_name,
59  size_t * count);
60 
64  const char * identifier,
65  const rmw_publisher_t * publisher,
66  rmw_gid_t * gid);
67 
70 __rmw_create_guard_condition(const char * identifier);
71 
75 
79  const char * identifier,
80  const rmw_guard_condition_t * guard_condition_handle);
81 
85 
87 rmw_node_t *
89  rmw_context_t * context,
90  const char * identifier,
91  const char * name,
92  const char * namespace_);
93 
97  const char * identifier,
98  rmw_node_t * node);
99 
101 const rmw_guard_condition_t *
103 
105 rmw_ret_t
107  const char * identifier,
108  const rmw_node_t * node,
109  rcutils_string_array_t * node_names,
110  rcutils_string_array_t * node_namespaces);
111 
113 rmw_ret_t
115  const char * identifier,
116  rmw_event_t * rmw_event,
117  const char * topic_endpoint_impl_identifier,
118  void * data,
119  rmw_event_type_t event_type);
120 
122 rmw_ret_t
124  const char * identifier,
125  const rmw_node_t * node,
126  rcutils_string_array_t * node_names,
127  rcutils_string_array_t * node_namespaces,
128  rcutils_string_array_t * enclaves);
129 
131 rmw_ret_t
133  const char * identifier,
134  const rmw_publisher_t * publisher,
135  const void * ros_message,
136  rmw_publisher_allocation_t * allocation);
137 
139 rmw_ret_t
141  const char * identifier,
142  const rmw_publisher_t * publisher,
143  const rmw_serialized_message_t * serialized_message,
144  rmw_publisher_allocation_t * allocation);
145 
147 rmw_ret_t
149  const char * identifier,
150  const rmw_publisher_t * publisher);
151 
153 rmw_ret_t
155  const char * identifier,
156  const rmw_node_t * node,
157  rmw_publisher_t * publisher);
158 
160 rmw_ret_t
162  const rmw_publisher_t * publisher,
163  size_t * subscription_count);
164 
166 rmw_ret_t
168  const rmw_publisher_t * publisher,
169  rmw_qos_profile_t * qos);
170 
172 rmw_ret_t
174  const char * identifier,
175  const rmw_client_t * client,
176  const void * ros_request,
177  int64_t * sequence_id);
178 
180 rmw_ret_t
182  const char * identifier,
183  const rmw_service_t * service,
184  rmw_service_info_t * request_header,
185  void * ros_request,
186  bool * taken);
187 
189 rmw_ret_t
191  const char * identifier,
192  const rmw_client_t * client,
193  rmw_service_info_t * request_header,
194  void * ros_response,
195  bool * taken);
196 
198 rmw_ret_t
200  const char * identifier,
201  const rmw_service_t * service,
202  rmw_request_id_t * request_header,
203  void * ros_response);
204 
206 rmw_ret_t
208  const char * identifier,
209  rmw_node_t * node,
210  rmw_service_t * service);
211 
213 rmw_ret_t
215  const char * identifier,
216  const rmw_node_t * node,
217  rcutils_allocator_t * allocator,
218  rmw_names_and_types_t * service_names_and_types);
219 
221 rmw_ret_t
223  const char * identifier,
224  const rmw_node_t * node,
225  rcutils_allocator_t * allocator,
226  const char * node_name,
227  const char * node_namespace,
228  bool no_demangle,
229  rmw_names_and_types_t * topic_names_and_types);
230 
232 rmw_ret_t
234  const char * identifier,
235  const rmw_node_t * node,
236  rcutils_allocator_t * allocator,
237  const char * node_name,
238  const char * node_namespace,
239  rmw_names_and_types_t * service_names_and_types);
240 
242 rmw_ret_t
244  const char * identifier,
245  const rmw_node_t * node,
246  rcutils_allocator_t * allocator,
247  const char * node_name,
248  const char * node_namespace,
249  rmw_names_and_types_t * service_names_and_types);
250 
252 rmw_ret_t
254  const char * identifier,
255  const rmw_node_t * node,
256  rcutils_allocator_t * allocator,
257  const char * node_name,
258  const char * node_namespace,
259  bool no_demangle,
260  rmw_names_and_types_t * topic_names_and_types);
261 
263 rmw_ret_t
265  const char * identifier,
266  const rmw_node_t * node,
267  const rmw_client_t * client,
268  bool * is_available);
269 
271 rmw_ret_t
273  const char * identifier,
274  const rmw_node_t * node,
275  rmw_subscription_t * subscription);
276 
278 rmw_ret_t
280  const rmw_subscription_t * subscription,
281  size_t * publisher_count);
282 
284 rmw_ret_t
286  const rmw_subscription_t * subscription,
287  rmw_qos_profile_t * qos);
288 
290 rmw_ret_t
291 __rmw_take(
292  const char * identifier,
293  const rmw_subscription_t * subscription,
294  void * ros_message,
295  bool * taken,
296  rmw_subscription_allocation_t * allocation);
297 
299 rmw_ret_t
301  const char * identifier,
302  const rmw_subscription_t * subscription,
303  size_t count,
304  rmw_message_sequence_t * message_sequencxe,
305  rmw_message_info_sequence_t * message_info_sequence,
306  size_t * taken,
307  rmw_subscription_allocation_t * allocation);
308 
310 rmw_ret_t
312  const char * identifier,
313  const rmw_event_t * event_handle,
314  void * event_info,
315  bool * taken);
316 
318 rmw_ret_t
320  const char * identifier,
321  const rmw_subscription_t * subscription,
322  void * ros_message,
323  bool * taken,
324  rmw_message_info_t * message_info,
325  rmw_subscription_allocation_t * allocation);
326 
328 rmw_ret_t
330  const char * identifier,
331  const rmw_subscription_t * subscription,
332  rmw_serialized_message_t * serialized_message,
333  bool * taken,
334  rmw_subscription_allocation_t * allocation);
335 
337 rmw_ret_t
339  const char * identifier,
340  const rmw_subscription_t * subscription,
341  rmw_serialized_message_t * serialized_message,
342  bool * taken,
343  rmw_message_info_t * message_info,
344  rmw_subscription_allocation_t * allocation);
345 
347 rmw_ret_t
349  const char * identifier,
350  const rmw_node_t * node,
351  rcutils_allocator_t * allocator,
352  bool no_demangle,
353  rmw_names_and_types_t * topic_names_and_types);
354 
356 rmw_ret_t
357 __rmw_wait(
358  rmw_subscriptions_t * subscriptions,
359  rmw_guard_conditions_t * guard_conditions,
360  rmw_services_t * services,
361  rmw_clients_t * clients,
362  rmw_events_t * events,
363  rmw_wait_set_t * wait_set,
364  const rmw_time_t * wait_timeout);
365 
368 __rmw_create_wait_set(const char * identifier, rmw_context_t * context, size_t max_conditions);
369 
371 rmw_ret_t
372 __rmw_destroy_wait_set(const char * identifier, rmw_wait_set_t * wait_set);
373 
375 rmw_ret_t
377  const char * identifier,
378  const rmw_node_t * node,
379  rcutils_allocator_t * allocator,
380  const char * topic_name,
381  bool no_mangle,
382  rmw_topic_endpoint_info_array_t * publishers_info);
383 
385 rmw_ret_t
387  const char * identifier,
388  const rmw_node_t * node,
389  rcutils_allocator_t * allocator,
390  const char * topic_name,
391  bool no_mangle,
392  rmw_topic_endpoint_info_array_t * subscriptions_info);
393 
394 } // namespace rmw_fastrtps_shared_cpp
395 
396 #endif // RMW_FASTRTPS_SHARED_CPP__RMW_COMMON_HPP_
rmw_fastrtps_shared_cpp::__rmw_take_event
rmw_ret_t __rmw_take_event(const char *identifier, const rmw_event_t *event_handle, void *event_info, bool *taken)
rmw_guard_conditions_t
rmw_node_t
rmw_fastrtps_shared_cpp::__rmw_destroy_wait_set
rmw_ret_t __rmw_destroy_wait_set(const char *identifier, rmw_wait_set_t *wait_set)
rmw_fastrtps_shared_cpp::__rmw_get_client_names_and_types_by_node
rmw_ret_t __rmw_get_client_names_and_types_by_node(const char *identifier, 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)
event.h
rmw_fastrtps_shared_cpp::__rmw_create_node
rmw_node_t * __rmw_create_node(rmw_context_t *context, const char *identifier, const char *name, const char *namespace_)
rmw_fastrtps_shared_cpp::__rmw_take_serialized_message
rmw_ret_t __rmw_take_serialized_message(const char *identifier, const rmw_subscription_t *subscription, rmw_serialized_message_t *serialized_message, bool *taken, rmw_subscription_allocation_t *allocation)
rmw_service_t
rmw_message_info_t
rmw_time_t
rmw.h
rmw_fastrtps_shared_cpp::__rmw_take_request
rmw_ret_t __rmw_take_request(const char *identifier, const rmw_service_t *service, rmw_service_info_t *request_header, void *ros_request, bool *taken)
rmw_fastrtps_shared_cpp
Definition: create_rmw_gid.hpp:24
rmw_fastrtps_shared_cpp::__rmw_count_publishers
rmw_ret_t __rmw_count_publishers(const char *identifier, const rmw_node_t *node, const char *topic_name, size_t *count)
rmw_event_type_t
rmw_event_type_t
rmw_log_severity_t
enum RMW_PUBLIC_TYPE rmw_log_severity_t
rmw_subscription_allocation_t
rmw_fastrtps_shared_cpp::__rmw_destroy_client
rmw_ret_t __rmw_destroy_client(const char *identifier, rmw_node_t *node, rmw_client_t *client)
rmw_fastrtps_shared_cpp::__rmw_get_subscriber_names_and_types_by_node
rmw_ret_t __rmw_get_subscriber_names_and_types_by_node(const char *identifier, const rmw_node_t *node, rcutils_allocator_t *allocator, const char *node_name, const char *node_namespace, bool no_demangle, rmw_names_and_types_t *topic_names_and_types)
error_handling.h
rmw_fastrtps_shared_cpp::__rmw_get_topic_names_and_types
rmw_ret_t __rmw_get_topic_names_and_types(const char *identifier, const rmw_node_t *node, rcutils_allocator_t *allocator, bool no_demangle, rmw_names_and_types_t *topic_names_and_types)
rmw_fastrtps_shared_cpp::__rmw_wait
rmw_ret_t __rmw_wait(rmw_subscriptions_t *subscriptions, rmw_guard_conditions_t *guard_conditions, rmw_services_t *services, rmw_clients_t *clients, rmw_events_t *events, rmw_wait_set_t *wait_set, const rmw_time_t *wait_timeout)
rmw_guard_condition_t
rmw_fastrtps_shared_cpp::__rmw_subscription_count_matched_publishers
rmw_ret_t __rmw_subscription_count_matched_publishers(const rmw_subscription_t *subscription, size_t *publisher_count)
rcutils_uint8_array_t
RMW_FASTRTPS_SHARED_CPP_PUBLIC
#define RMW_FASTRTPS_SHARED_CPP_PUBLIC
Definition: visibility_control.h:50
rmw_fastrtps_shared_cpp::__rmw_get_node_names_with_enclaves
rmw_ret_t __rmw_get_node_names_with_enclaves(const char *identifier, const rmw_node_t *node, rcutils_string_array_t *node_names, rcutils_string_array_t *node_namespaces, rcutils_string_array_t *enclaves)
rmw_message_info_sequence_t
rmw_fastrtps_shared_cpp::__rmw_take_response
rmw_ret_t __rmw_take_response(const char *identifier, const rmw_client_t *client, rmw_service_info_t *request_header, void *ros_response, bool *taken)
rmw_wait_set_t
rmw_fastrtps_shared_cpp::__rmw_publish
rmw_ret_t __rmw_publish(const char *identifier, const rmw_publisher_t *publisher, const void *ros_message, rmw_publisher_allocation_t *allocation)
rcutils_string_array_t
rmw_fastrtps_shared_cpp::__rmw_get_publisher_names_and_types_by_node
rmw_ret_t __rmw_get_publisher_names_and_types_by_node(const char *identifier, const rmw_node_t *node, rcutils_allocator_t *allocator, const char *node_name, const char *node_namespace, bool no_demangle, rmw_names_and_types_t *topic_names_and_types)
rmw_service_info_t
rmw_fastrtps_shared_cpp::__rmw_destroy_subscription
rmw_ret_t __rmw_destroy_subscription(const char *identifier, const rmw_node_t *node, rmw_subscription_t *subscription)
rmw_fastrtps_shared_cpp::__rmw_service_server_is_available
rmw_ret_t __rmw_service_server_is_available(const char *identifier, const rmw_node_t *node, const rmw_client_t *client, bool *is_available)
rmw_context_t
rmw_client_t
rmw_subscription_t
rmw_publisher_allocation_t
rmw_fastrtps_shared_cpp::__rmw_publisher_count_matched_subscriptions
rmw_ret_t __rmw_publisher_count_matched_subscriptions(const rmw_publisher_t *publisher, size_t *subscription_count)
topic_endpoint_info_array.h
rmw_fastrtps_shared_cpp::__rmw_publish_serialized_message
rmw_ret_t __rmw_publish_serialized_message(const char *identifier, const rmw_publisher_t *publisher, const rmw_serialized_message_t *serialized_message, rmw_publisher_allocation_t *allocation)
rmw_fastrtps_shared_cpp::__rmw_send_request
rmw_ret_t __rmw_send_request(const char *identifier, const rmw_client_t *client, const void *ros_request, int64_t *sequence_id)
rmw_fastrtps_shared_cpp::__rmw_trigger_guard_condition
rmw_ret_t __rmw_trigger_guard_condition(const char *identifier, const rmw_guard_condition_t *guard_condition_handle)
rmw_fastrtps_shared_cpp::__rmw_node_get_graph_guard_condition
const rmw_guard_condition_t * __rmw_node_get_graph_guard_condition(const rmw_node_t *node)
rmw_fastrtps_shared_cpp::__rmw_compare_gids_equal
rmw_ret_t __rmw_compare_gids_equal(const char *identifier, const rmw_gid_t *gid1, const rmw_gid_t *gid2, bool *result)
rmw_publisher_t
rmw_request_id_t
rmw_fastrtps_shared_cpp::__rmw_init_event
rmw_ret_t __rmw_init_event(const char *identifier, rmw_event_t *rmw_event, const char *topic_endpoint_impl_identifier, void *data, rmw_event_type_t event_type)
rmw_fastrtps_shared_cpp::__rmw_take_with_info
rmw_ret_t __rmw_take_with_info(const char *identifier, const rmw_subscription_t *subscription, void *ros_message, bool *taken, rmw_message_info_t *message_info, rmw_subscription_allocation_t *allocation)
rmw_fastrtps_shared_cpp::__rmw_count_subscribers
rmw_ret_t __rmw_count_subscribers(const char *identifier, const rmw_node_t *node, const char *topic_name, size_t *count)
rmw_ret_t
int32_t rmw_ret_t
rmw_message_sequence_t
rmw_fastrtps_shared_cpp::__rmw_take_serialized_message_with_info
rmw_ret_t __rmw_take_serialized_message_with_info(const char *identifier, const rmw_subscription_t *subscription, rmw_serialized_message_t *serialized_message, bool *taken, rmw_message_info_t *message_info, rmw_subscription_allocation_t *allocation)
rmw_names_and_types_t
visibility_control.h
rmw_fastrtps_shared_cpp::__rmw_send_response
rmw_ret_t __rmw_send_response(const char *identifier, const rmw_service_t *service, rmw_request_id_t *request_header, void *ros_response)
rmw_services_t
rcutils_allocator_t
rmw_fastrtps_shared_cpp::__rmw_take
rmw_ret_t __rmw_take(const char *identifier, const rmw_subscription_t *subscription, void *ros_message, bool *taken, rmw_subscription_allocation_t *allocation)
rmw_fastrtps_shared_cpp::__rmw_get_service_names_and_types
rmw_ret_t __rmw_get_service_names_and_types(const char *identifier, const rmw_node_t *node, rcutils_allocator_t *allocator, rmw_names_and_types_t *service_names_and_types)
rmw_gid_t
rmw_fastrtps_shared_cpp::__rmw_get_service_names_and_types_by_node
rmw_ret_t __rmw_get_service_names_and_types_by_node(const char *identifier, 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)
rmw_fastrtps_shared_cpp::__rmw_destroy_service
rmw_ret_t __rmw_destroy_service(const char *identifier, rmw_node_t *node, rmw_service_t *service)
rmw_topic_endpoint_info_array_t
rmw_fastrtps_shared_cpp::__rmw_create_wait_set
rmw_wait_set_t * __rmw_create_wait_set(const char *identifier, rmw_context_t *context, size_t max_conditions)
rmw_fastrtps_shared_cpp::__rmw_publisher_get_actual_qos
rmw_ret_t __rmw_publisher_get_actual_qos(const rmw_publisher_t *publisher, rmw_qos_profile_t *qos)
rmw_fastrtps_shared_cpp::__rmw_get_gid_for_publisher
rmw_ret_t __rmw_get_gid_for_publisher(const char *identifier, const rmw_publisher_t *publisher, rmw_gid_t *gid)
rmw_fastrtps_shared_cpp::__rmw_take_sequence
rmw_ret_t __rmw_take_sequence(const char *identifier, const rmw_subscription_t *subscription, size_t count, rmw_message_sequence_t *message_sequencxe, rmw_message_info_sequence_t *message_info_sequence, size_t *taken, rmw_subscription_allocation_t *allocation)
rmw_event_t
rmw_subscriptions_t
rmw_fastrtps_shared_cpp::__rmw_get_publishers_info_by_topic
rmw_ret_t __rmw_get_publishers_info_by_topic(const char *identifier, const rmw_node_t *node, rcutils_allocator_t *allocator, const char *topic_name, bool no_mangle, rmw_topic_endpoint_info_array_t *publishers_info)
rmw_qos_profile_t
rmw_fastrtps_shared_cpp::__rmw_destroy_guard_condition
rmw_ret_t __rmw_destroy_guard_condition(rmw_guard_condition_t *guard_condition)
rmw_fastrtps_shared_cpp::__rmw_subscription_get_actual_qos
rmw_ret_t __rmw_subscription_get_actual_qos(const rmw_subscription_t *subscription, rmw_qos_profile_t *qos)
rmw_fastrtps_shared_cpp::__rmw_create_guard_condition
rmw_guard_condition_t * __rmw_create_guard_condition(const char *identifier)
names_and_types.h
rmw_fastrtps_shared_cpp::__rmw_set_log_severity
rmw_ret_t __rmw_set_log_severity(rmw_log_severity_t severity)
rmw_events_t
rmw_fastrtps_shared_cpp::__rmw_get_subscriptions_info_by_topic
rmw_ret_t __rmw_get_subscriptions_info_by_topic(const char *identifier, const rmw_node_t *node, rcutils_allocator_t *allocator, const char *topic_name, bool no_mangle, rmw_topic_endpoint_info_array_t *subscriptions_info)
types.h
rmw_fastrtps_shared_cpp::__rmw_destroy_node
rmw_ret_t __rmw_destroy_node(const char *identifier, rmw_node_t *node)
rmw_clients_t
rmw_fastrtps_shared_cpp::__rmw_get_node_names
rmw_ret_t __rmw_get_node_names(const char *identifier, const rmw_node_t *node, rcutils_string_array_t *node_names, rcutils_string_array_t *node_namespaces)
rmw_fastrtps_shared_cpp::__rmw_publisher_assert_liveliness
rmw_ret_t __rmw_publisher_assert_liveliness(const char *identifier, const rmw_publisher_t *publisher)
rmw_fastrtps_shared_cpp::__rmw_destroy_publisher
rmw_ret_t __rmw_destroy_publisher(const char *identifier, const rmw_node_t *node, rmw_publisher_t *publisher)