Skip to main content

xidl_typeobject/
typeobject.rs

1pub trait XidlTypeObject {
2    fn minimal_type_object() -> crate::DDS::XTypes::TypeObject;
3    fn complete_type_object() -> crate::DDS::XTypes::TypeObject;
4}
5
6impl<T> XidlTypeObject for Vec<T>
7where
8    T: XidlTypeObject,
9{
10    fn minimal_type_object() -> crate::DDS::XTypes::TypeObject {
11        todo!()
12    }
13
14    fn complete_type_object() -> crate::DDS::XTypes::TypeObject {
15        todo!()
16    }
17}
18
19macro_rules! impl_mock_for {
20    ($($ty:ty)*) => {
21        $(
22
23            impl XidlTypeObject for $ty {
24                fn minimal_type_object() -> crate::DDS::XTypes::TypeObject {
25                    todo!()
26                }
27
28                fn complete_type_object() -> crate::DDS::XTypes::TypeObject {
29                    todo!()
30                }
31            }
32        )*
33    };
34}
35
36impl_mock_for!(u16 u8 [u8; 4] u32 String i32 [u8; 14]);