rmw  master
C API providing a middleware abstraction layer which is used to implement the rest of ROS.
names_and_types.h
Go to the documentation of this file.
1 // Copyright 2017 Open Source Robotics Foundation, Inc.
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__NAMES_AND_TYPES_H_
16 #define RMW__NAMES_AND_TYPES_H_
17 
18 #ifdef __cplusplus
19 extern "C"
20 {
21 #endif
22 
23 #include <stddef.h>
24 
25 #include "rcutils/allocator.h"
26 #include "rcutils/types.h"
27 #include "rmw/macros.h"
28 #include "rmw/types.h"
29 #include "rmw/visibility_control.h"
30 
33 {
35  // The length of this array is the same as names.size
38 
44 
50 
52 
70  rmw_names_and_types_t * names_and_types,
71  size_t size,
72  rcutils_allocator_t * allocator);
73 
75 
94 
95 #ifdef __cplusplus
96 }
97 #endif
98 
99 #endif // RMW__NAMES_AND_TYPES_H_
struct RMW_PUBLIC_TYPE rmw_names_and_types_t rmw_names_and_types_t
Associative array of topic or service names and types.
#define RMW_PUBLIC
Definition: visibility_control.h:48
#define RMW_WARN_UNUSED
Definition: macros.h:22
Associative array of topic or service names and types.
Definition: names_and_types.h:32
#define RMW_PUBLIC_TYPE
Definition: visibility_control.h:51
rmw_ret_t rmw_names_and_types_check_zero(rmw_names_and_types_t *names_and_types)
Check that a rmw_topic_names_and_types_t struct is zero initialized.
int rmw_ret_t
Definition: types.h:32
rmw_names_and_types_t rmw_get_zero_initialized_names_and_types(void)
Return a rmw_names_and_types_t struct with members initialized to NULL.
rcutils_string_array_t * types
Definition: names_and_types.h:36
rmw_ret_t rmw_names_and_types_init(rmw_names_and_types_t *names_and_types, size_t size, rcutils_allocator_t *allocator)
Initialize a rmw_names_and_types_t object.
rcutils_string_array_t names
Definition: names_and_types.h:34
rmw_ret_t rmw_names_and_types_fini(rmw_names_and_types_t *names_and_types)
Finalize a rmw_names_and_types_t object.