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"
27 
29 {
30 
34  const char * identifier,
35  rmw_node_t * node,
36  rmw_client_t * client);
37 
41  const char * identifier,
42  const rmw_gid_t * gid1,
43  const rmw_gid_t * gid2,
44  bool * result);
45 
49  const char * identifier,
50  const rmw_node_t * node,
51  const char * topic_name,
52  size_t * count);
53 
57  const char * identifier,
58  const rmw_node_t * node,
59  const char * topic_name,
60  size_t * count);
61 
65  const char * identifier,
66  const rmw_publisher_t * publisher,
67  rmw_gid_t * gid);
68 
71 __rmw_create_guard_condition(const char * identifier);
72 
76 
80  const char * identifier,
81  const rmw_guard_condition_t * guard_condition_handle);
82 
86 
88 rmw_node_t *
90  rmw_context_t * context,
91  const char * identifier,
92  const char * name,
93  const char * namespace_);
94 
98  const char * identifier,
99  rmw_node_t * node);
100 
102 const rmw_guard_condition_t *
104 
106 rmw_ret_t
108  const char * identifier,
109  const rmw_node_t * node,
110  rcutils_string_array_t * node_names,
111  rcutils_string_array_t * node_namespaces);
112 
114 rmw_ret_t
116  const char * identifier,
117  rmw_event_t * rmw_event,
118  const char * topic_endpoint_impl_identifier,
119  void * data,
120  rmw_event_type_t event_type);
121 
123 rmw_ret_t
125  const char * identifier,
126  const rmw_node_t * node,
127  rcutils_string_array_t * node_names,
128  rcutils_string_array_t * node_namespaces,
129  rcutils_string_array_t * enclaves);
130 
132 rmw_ret_t
134  const char * identifier,
135  const rmw_publisher_t * publisher,
136  const void * ros_message,
137  rmw_publisher_allocation_t * allocation);
138 
140 rmw_ret_t
142  const char * identifier,
143  const rmw_publisher_t * publisher,
144  const rmw_serialized_message_t * serialized_message,
145  rmw_publisher_allocation_t * allocation);
146 
148 rmw_ret_t
150  const char * identifier,
151  const rmw_publisher_t * publisher);
152 
154 rmw_ret_t
156  const char * identifier,
157  const rmw_node_t * node,
158  rmw_publisher_t * publisher);
159 
161 rmw_ret_t
163  const rmw_publisher_t * publisher,
164  size_t * subscription_count);
165 
167 rmw_ret_t
169  const rmw_publisher_t * publisher,
170  rmw_qos_profile_t * qos);
171 
173 rmw_ret_t
175  const char * identifier,
176  const rmw_client_t * client,
177  const void * ros_request,
178  int64_t * sequence_id);
179 
181 rmw_ret_t
183  const char * identifier,
184  const rmw_service_t * service,
185  rmw_service_info_t * request_header,
186  void * ros_request,
187  bool * taken);
188 
190 rmw_ret_t
192  const char * identifier,
193  const rmw_client_t * client,
194  rmw_service_info_t * request_header,
195  void * ros_response,
196  bool * taken);
197 
199 rmw_ret_t
201  const char * identifier,
202  const rmw_service_t * service,
203  rmw_request_id_t * request_header,
204  void * ros_response);
205 
207 rmw_ret_t
209  const char * identifier,
210  rmw_node_t * node,
211  rmw_service_t * service);
212 
214 rmw_ret_t
216  const char * identifier,
217  const rmw_node_t * node,
218  rcutils_allocator_t * allocator,
219  rmw_names_and_types_t * service_names_and_types);
220 
222 rmw_ret_t
224  const char * identifier,
225  const rmw_node_t * node,
226  rcutils_allocator_t * allocator,
227  const char * node_name,
228  const char * node_namespace,
229  bool no_demangle,
230  rmw_names_and_types_t * topic_names_and_types);
231 
233 rmw_ret_t
235  const char * identifier,
236  const rmw_node_t * node,
237  rcutils_allocator_t * allocator,
238  const char * node_name,
239  const char * node_namespace,
240  rmw_names_and_types_t * service_names_and_types);
241 
243 rmw_ret_t
245  const char * identifier,
246  const rmw_node_t * node,
247  rcutils_allocator_t * allocator,
248  const char * node_name,
249  const char * node_namespace,
250  rmw_names_and_types_t * service_names_and_types);
251 
253 rmw_ret_t
255  const char * identifier,
256  const rmw_node_t * node,
257  rcutils_allocator_t * allocator,
258  const char * node_name,
259  const char * node_namespace,
260  bool no_demangle,
261  rmw_names_and_types_t * topic_names_and_types);
262 
264 rmw_ret_t
266  const char * identifier,
267  const rmw_node_t * node,
268  const rmw_client_t * client,
269  bool * is_available);
270 
272 rmw_ret_t
274  const char * identifier,
275  const rmw_node_t * node,
276  rmw_subscription_t * subscription);
277 
279 rmw_ret_t
281  const rmw_subscription_t * subscription,
282  size_t * publisher_count);
283 
285 rmw_ret_t
287  const rmw_subscription_t * subscription,
288  rmw_qos_profile_t * qos);
289 
291 rmw_ret_t
292 __rmw_take(
293  const char * identifier,
294  const rmw_subscription_t * subscription,
295  void * ros_message,
296  bool * taken,
297  rmw_subscription_allocation_t * allocation);
298 
300 rmw_ret_t
302  const char * identifier,
303  const rmw_subscription_t * subscription,
304  size_t count,
305  rmw_message_sequence_t * message_sequencxe,
306  rmw_message_info_sequence_t * message_info_sequence,
307  size_t * taken,
308  rmw_subscription_allocation_t * allocation);
309 
311 rmw_ret_t
313  const char * identifier,
314  const rmw_event_t * event_handle,
315  void * event_info,
316  bool * taken);
317 
319 rmw_ret_t
321  const char * identifier,
322  const rmw_subscription_t * subscription,
323  void * ros_message,
324  bool * taken,
325  rmw_message_info_t * message_info,
326  rmw_subscription_allocation_t * allocation);
327 
329 rmw_ret_t
331  const char * identifier,
332  const rmw_subscription_t * subscription,
333  rmw_serialized_message_t * serialized_message,
334  bool * taken,
335  rmw_subscription_allocation_t * allocation);
336 
338 rmw_ret_t
340  const char * identifier,
341  const rmw_subscription_t * subscription,
342  rmw_serialized_message_t * serialized_message,
343  bool * taken,
344  rmw_message_info_t * message_info,
345  rmw_subscription_allocation_t * allocation);
346 
348 rmw_ret_t
350  const char * identifier,
351  const rmw_node_t * node,
352  rcutils_allocator_t * allocator,
353  bool no_demangle,
354  rmw_names_and_types_t * topic_names_and_types);
355 
357 rmw_ret_t
358 __rmw_wait(
359  const char * identifier,
360  rmw_subscriptions_t * subscriptions,
361  rmw_guard_conditions_t * guard_conditions,
362  rmw_services_t * services,
363  rmw_clients_t * clients,
364  rmw_events_t * events,
365  rmw_wait_set_t * wait_set,
366  const rmw_time_t * wait_timeout);
367 
370 __rmw_create_wait_set(const char * identifier, rmw_context_t * context, size_t max_conditions);
371 
373 rmw_ret_t
374 __rmw_destroy_wait_set(const char * identifier, rmw_wait_set_t * wait_set);
375 
377 rmw_ret_t
379  const char * identifier,
380  const rmw_node_t * node,
381  rcutils_allocator_t * allocator,
382  const char * topic_name,
383  bool no_mangle,
384  rmw_topic_endpoint_info_array_t * publishers_info);
385 
387 rmw_ret_t
389  const char * identifier,
390  const rmw_node_t * node,
391  rcutils_allocator_t * allocator,
392  const char * topic_name,
393  bool no_mangle,
394  rmw_topic_endpoint_info_array_t * subscriptions_info);
395 
397 rmw_ret_t
399  const rmw_qos_profile_t publisher_profile,
400  const rmw_qos_profile_t subscription_profile,
401  rmw_qos_compatibility_type_t * compatibility,
402  char * reason,
403  size_t reason_size);
404 
406 rmw_ret_t
408  const rmw_publisher_t * publisher,
409  rcutils_allocator_t * allocator,
410  rmw_network_flow_endpoint_array_t * network_flow_endpoint_array);
411 
413 rmw_ret_t
415  const rmw_subscription_t * subscription,
416  rcutils_allocator_t * allocator,
417  rmw_network_flow_endpoint_array_t * network_flow_endpoint_array);
418 
419 } // namespace rmw_fastrtps_shared_cpp
420 
421 #endif // RMW_FASTRTPS_SHARED_CPP__RMW_COMMON_HPP_
rmw_serialized_message_t
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_guard_condition_t
rmw_fastrtps_shared_cpp::__rmw_qos_profile_check_compatible
rmw_ret_t __rmw_qos_profile_check_compatible(const rmw_qos_profile_t publisher_profile, const rmw_qos_profile_t subscription_profile, rmw_qos_compatibility_type_t *compatibility, char *reason, size_t reason_size)
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)
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_qos_compatibility_type_t
enum RMW_PUBLIC_TYPE rmw_qos_compatibility_type_t rmw_qos_compatibility_type_t
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_subscription_get_network_flow_endpoints
rmw_ret_t __rmw_subscription_get_network_flow_endpoints(const rmw_subscription_t *subscription, rcutils_allocator_t *allocator, rmw_network_flow_endpoint_array_t *network_flow_endpoint_array)
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_publisher_get_network_flow_endpoints
rmw_ret_t __rmw_publisher_get_network_flow_endpoints(const rmw_publisher_t *publisher, rcutils_allocator_t *allocator, rmw_network_flow_endpoint_array_t *network_flow_endpoint_array)
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_network_flow_endpoint_array_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)
network_flow_endpoint_array.h
rmw_fastrtps_shared_cpp::__rmw_wait
rmw_ret_t __rmw_wait(const char *identifier, 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_fastrtps_shared_cpp::__rmw_destroy_publisher
rmw_ret_t __rmw_destroy_publisher(const char *identifier, const rmw_node_t *node, rmw_publisher_t *publisher)