22
22
extern "C" {
23
23
#endif
24
24
25
- #include <rosidl_dynamic_typesupport/types.h>
26
-
27
25
#include <rosidl_dynamic_typesupport/api/serialization_support_interface.h>
28
26
#include <rosidl_dynamic_typesupport/api/dynamic_data.h>
29
27
#include <rosidl_dynamic_typesupport/api/dynamic_type.h>
30
28
#include <rosidl_dynamic_typesupport/visibility_control.h>
31
29
32
30
#include <rcutils/types/rcutils_ret.h>
33
31
32
+ #include "rosidl_dynamic_typesupport/types.h"
33
+
34
+ /// Serialization Support Impl
35
+ /// For anything necessary or useful for the operation of the serialization lib
36
+ /// (e.g. singleton dynamic type and dynamic data factories)
37
+ struct rosidl_dynamic_typesupport_serialization_support_impl_s
38
+ {
39
+ rcutils_allocator_t allocator ;
40
+ const char * serialization_library_identifier ;
41
+ void * handle ;
42
+ };
43
+
44
+ ROSIDL_DYNAMIC_TYPESUPPORT_PUBLIC
45
+ rosidl_dynamic_typesupport_serialization_support_impl_t
46
+ rosidl_dynamic_typesupport_get_zero_initialized_serialization_support_impl (void );
47
+
48
+ /// Serialization Support
49
+ /// This is the main structure that encompasses:
50
+ /// - impl - The library-specific objects or implementation details
51
+ /// - methods - The shared serialization support interface, populated with serialization
52
+ /// library-specific function pointers
53
+ struct rosidl_dynamic_typesupport_serialization_support_s
54
+ {
55
+ rcutils_allocator_t allocator ;
56
+ const char * serialization_library_identifier ;
57
+
58
+ rosidl_dynamic_typesupport_serialization_support_impl_t impl ;
59
+ // Can't call it `interface` because it's a reserved term in some Windows versions...
60
+ rosidl_dynamic_typesupport_serialization_support_interface_t methods ;
61
+ };
62
+
63
+ ROSIDL_DYNAMIC_TYPESUPPORT_PUBLIC
64
+ rosidl_dynamic_typesupport_serialization_support_t
65
+ rosidl_dynamic_typesupport_get_zero_initialized_serialization_support (void );
34
66
35
67
// CORE ============================================================================================
36
68
ROSIDL_DYNAMIC_TYPESUPPORT_PUBLIC
@@ -40,17 +72,17 @@ rosidl_dynamic_typesupport_serialization_support_get_library_identifier(
40
72
41
73
ROSIDL_DYNAMIC_TYPESUPPORT_PUBLIC
42
74
rcutils_ret_t
43
- rosidl_dynamic_typesupport_serialization_support_create (
75
+ rosidl_dynamic_typesupport_serialization_support_init (
44
76
rosidl_dynamic_typesupport_serialization_support_impl_t * impl ,
45
77
rosidl_dynamic_typesupport_serialization_support_interface_t * methods ,
46
- rosidl_dynamic_typesupport_serialization_support_t * * serialization_support ); // OUT
78
+ rcutils_allocator_t * allocator ,
79
+ rosidl_dynamic_typesupport_serialization_support_t * serialization_support ); // OUT
47
80
48
81
ROSIDL_DYNAMIC_TYPESUPPORT_PUBLIC
49
82
rcutils_ret_t
50
- rosidl_dynamic_typesupport_serialization_support_destroy (
83
+ rosidl_dynamic_typesupport_serialization_support_fini (
51
84
rosidl_dynamic_typesupport_serialization_support_t * serialization_support );
52
85
53
-
54
86
#ifdef __cplusplus
55
87
}
56
88
#endif
0 commit comments