11 #ifndef RTI_REFLEX_TYPE_INFO_H
12 #define RTI_REFLEX_TYPE_INFO_H
22 class SafeDynamicData;
28 void operator () (DDSDynamicDataTypeSupport *) { }
46 DDS_DynamicDataTypeProperty_t _props;
48 std::shared_ptr<DDSDynamicDataTypeSupport> _type_support;
56 explicit TypeManager(
const DDS_DynamicDataTypeProperty_t & props =
57 DDS_DynamicDataTypeProperty_t())
60 _type_support(std::make_shared<DDSDynamicDataTypeSupport>(_safe_typecode.
get(), _props))
71 _safe_typecode(support->get_data_type()),
72 _type_support(support, detail::empty_deleter())
116 return _safe_typecode;
124 return _safe_typecode.get();
132 return _type_support.get();
147 return _safe_typecode;
155 return _safe_typecode.get();
163 return _type_support.get();
171 #endif // RTI_REFLEX_TYPE_INFO_H
DDSDynamicDataTypeSupport * get_type_support()
Definition: type_manager.h:130
DDS_TypeCode * get_typecode()
Definition: type_manager.h:122
SafeTypeCode< T > make_typecode(const char *name)
Creates a TypeCode for structured type T.
Definition: reflex.h:175
Typesafe, exception-safe, poulated DynamicData.
Definition: reflex_fwd.h:24
Manage type-specific context, such as typecode, type-support, and dynamic data properties.
Definition: type_manager.h:44
SafeTypeCode< T > & get_safe_typecode()
Definition: type_manager.h:114
DDS_DynamicDataTypeProperty_t & get_properties()
Definition: type_manager.h:106
T create_instance(const SafeDynamicData< T > &src) const
Definition: type_manager.h:96
void read_dynamicdata(T &dest, const DDS_DynamicData &src)
Extracts data out from the source DDS_DynamicData instance and copies into the destination object of ...
Definition: reflex.h:186
const DDS_TypeCode * get_typecode() const
Definition: type_manager.h:153
TypeManager(const DDS_DynamicDataTypeProperty_t &props=DDS_DynamicDataTypeProperty_t())
Create a type manager that uses the argument properties to create all the DynamicData objects...
Definition: type_manager.h:56
TypeManager(DDSDynamicDataTypeSupport *support)
Create a type manager that uses the argument DynamicDataTypeSupport to create all the DynamicData obj...
Definition: type_manager.h:69
SafeDynamicData< T > create_dynamicdata(const T &src) const
Definition: type_manager.h:84
const SafeTypeCode< T > & get_safe_typecode() const
Definition: type_manager.h:145
A type-safe, exception-safe wrapper for DDS TypeCode.
Definition: reflex_fwd.h:27
const DDSDynamicDataTypeSupport * get_type_support() const
Definition: type_manager.h:161
const DDS_DynamicDataTypeProperty_t & get_properties() const
Definition: type_manager.h:137