15 #ifndef TYPES_DYNAMIC_DATA_H
16 #define TYPES_DYNAMIC_DATA_H
18 #include <fastrtps/types/TypesBase.h>
19 #include <fastrtps/types/DynamicDataPtr.h>
20 #include <fastrtps/types/DynamicTypePtr.h>
29 class MemberDescriptor;
65 eprosima::fastcdr::Cdr& cdr)
const;
70 std::string& sOutValue,
71 MemberId id = MEMBER_ID_INVALID)
const;
74 const std::string& sValue,
94 size_t current_alignment = 0);
98 size_t current_alignment = 0);
102 size_t current_alignment = 0);
106 size_t current_alignment = 0);
117 #ifdef DYNAMIC_TYPES_CHECKING
118 int32_t int32_value_;
119 uint32_t uint32_value_;
120 int16_t int16_value_;
121 uint16_t uint16_value_;
122 int64_t int64_value_;
123 uint64_t uint64_value_;
124 float float32_value_;
125 double float64_value_;
126 long double float128_value_;
128 wchar_t char16_value_;
131 std::string string_value_;
132 std::wstring wstring_value_;
133 std::map<MemberId, DynamicData*> complex_values_;
238 const std::string& value,
242 const std::wstring& value,
246 const std::string& value,
394 value =
static_cast<int8_t
>(aux);
411 value =
static_cast<uint8_t
>(aux);
432 const std::string& name)
435 if (
id != MEMBER_ID_INVALID)
447 const std::string& value,
455 const std::wstring& value,
463 const std::string& value,
471 const uint32_t& value,
Definition: DynamicDataPtr.h:27
Definition: DynamicDataFactory.h:32
Definition: DynamicDataHelper.hpp:30
Definition: DynamicData.h:32
void add_value(TypeKind kind, MemberId id)
ReturnCode_t insert_array_data(MemberId indexId)
void update_union_discriminator()
RTPS_DllAPI uint32_t get_uint32_value(MemberId id) const
Definition: DynamicData.h:509
RTPS_DllAPI ReturnCode_t get_complex_value(DynamicData **value, MemberId id) const
RTPS_DllAPI ReturnCode_t insert_map_data(const DynamicData *key, DynamicData *value, MemberId &outKey, MemberId &outValue)
RTPS_DllAPI ReturnCode_t set_bool_value(bool value, const std::string &name)
Definition: DynamicData.h:430
static size_t getEmptyCdrSerializedSize(const DynamicType *type, size_t current_alignment=0)
RTPS_DllAPI ReturnCode_t set_uint64_value(uint64_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI std::string get_enum_value(MemberId id) const
Definition: DynamicData.h:680
ReturnCode_t set_union_id(MemberId id)
void set_value(const std::string &sValue, MemberId id=MEMBER_ID_INVALID)
static size_t getCdrSerializedSize(const DynamicData *data, size_t current_alignment=0)
RTPS_DllAPI ReturnCode_t insert_bool_value(bool value, MemberId &outId)
RTPS_DllAPI long double get_float128_value(MemberId id) const
Definition: DynamicData.h:579
RTPS_DllAPI ReturnCode_t get_float128_value(long double &value, MemberId id) const
MemberId union_id_
Definition: DynamicData.h:141
void * clone_value(MemberId id, TypeKind kind) const
RTPS_DllAPI ReturnCode_t insert_uint16_value(uint16_t value, MemberId &outId)
RTPS_DllAPI bool get_bool_value(MemberId id) const
Definition: DynamicData.h:639
DynamicData * union_discriminator_
Definition: DynamicData.h:142
RTPS_DllAPI ReturnCode_t set_bitmask_value(uint64_t value)
RTPS_DllAPI ReturnCode_t set_int64_value(int64_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t set_complex_value(DynamicData *value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t remove_sequence_data(MemberId id)
RTPS_DllAPI ReturnCode_t remove_map_data(MemberId keyId)
RTPS_DllAPI ReturnCode_t clear_value(MemberId id)
RTPS_DllAPI void get_discriminator_value(uint64_t &outValue) const
Definition: DynamicData.h:705
RTPS_DllAPI ReturnCode_t set_descriptor(MemberId id, const MemberDescriptor *value)
RTPS_DllAPI ReturnCode_t return_loaned_value(const DynamicData *value)
RTPS_DllAPI MemberId get_member_id_by_name(const std::string &name) const
bool deserialize_discriminator(eprosima::fastcdr::Cdr &cdr)
RTPS_DllAPI ReturnCode_t set_float64_value(double value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_int8_value(int8_t &value, MemberId id) const
Definition: DynamicData.h:388
RTPS_DllAPI ReturnCode_t set_bool_value(bool value, MemberId id=MEMBER_ID_INVALID)
DynamicType_ptr type_
Definition: DynamicData.h:114
RTPS_DllAPI ReturnCode_t insert_complex_value(DynamicData *value, MemberId &outId)
void serialize_empty_data(const DynamicType_ptr pType, eprosima::fastcdr::Cdr &cdr) const
RTPS_DllAPI ReturnCode_t get_float32_value(float &value, MemberId id) const
RTPS_DllAPI ReturnCode_t get_uint8_value(uint8_t &value, MemberId id) const
Definition: DynamicData.h:405
RTPS_DllAPI ReturnCode_t get_byte_value(octet &value, MemberId id) const
RTPS_DllAPI ReturnCode_t insert_int32_value(int32_t value, MemberId &outId)
std::map< MemberId, MemberDescriptor * > descriptors_
Definition: DynamicData.h:115
RTPS_DllAPI ReturnCode_t get_float64_value(double &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_char16_value(wchar_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t set_uint32_value(uint32_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t insert_sequence_data(MemberId &outId)
RTPS_DllAPI ReturnCode_t set_byte_value(octet value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI TypeKind get_kind() const
RTPS_DllAPI int16_t get_int16_value(MemberId id) const
Definition: DynamicData.h:519
RTPS_DllAPI ReturnCode_t get_enum_value(std::string &value, MemberId id) const
bool compare_values(TypeKind kind, void *left, void *right) const
RTPS_DllAPI ReturnCode_t set_uint16_value(uint16_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t insert_int16_value(int16_t value, MemberId &outId)
void set_type_name(const std::string &name)
RTPS_DllAPI ReturnCode_t get_uint64_value(uint64_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_enum_value(const std::string &value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_bitmask_value(uint64_t &value) const
RTPS_DllAPI uint64_t get_union_label() const
Definition: DynamicData.h:690
RTPS_DllAPI std::string get_string_value(MemberId id) const
Definition: DynamicData.h:660
void create_members(DynamicType_ptr pType)
DynamicData(const DynamicData *pData)
RTPS_DllAPI MemberId get_member_id_at_index(uint32_t index) const
void set_default_value(MemberId id)
RTPS_DllAPI ReturnCode_t insert_char8_value(char value, MemberId &outId)
RTPS_DllAPI ReturnCode_t get_enum_value(uint32_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t insert_map_data(const DynamicData *key, MemberId &outKeyId, MemberId &outValueId)
RTPS_DllAPI ReturnCode_t insert_string_value(const std::string &value, MemberId &outId)
uint64_t discriminator_value_
Definition: DynamicData.h:143
RTPS_DllAPI ReturnCode_t clear_array_data(MemberId indexId)
bool key_element_
Definition: DynamicData.h:138
RTPS_DllAPI DynamicData * loan_value(MemberId id)
RTPS_DllAPI ReturnCode_t insert_float32_value(float value, MemberId &outId)
RTPS_DllAPI uint8_t get_uint8_value(MemberId id) const
Definition: DynamicData.h:629
RTPS_DllAPI ReturnCode_t get_wstring_value(std::wstring &value, MemberId id) const
RTPS_DllAPI int64_t get_int64_value(MemberId id) const
Definition: DynamicData.h:539
RTPS_DllAPI ReturnCode_t insert_float128_value(long double value, MemberId &outId)
DynamicData * default_array_value_
Definition: DynamicData.h:139
RTPS_DllAPI ReturnCode_t clear_nonkey_values()
RTPS_DllAPI uint64_t get_bitmask_value() const
Definition: DynamicData.h:476
void sort_member_ids(MemberId startId)
RTPS_DllAPI bool equals(const DynamicData *other) const
static size_t getMaxCdrSerializedSize(const DynamicType_ptr type, size_t current_alignment=0)
void serialize(eprosima::fastcdr::Cdr &cdr) const
RTPS_DllAPI std::string get_name()
RTPS_DllAPI int8_t get_int8_value(MemberId id) const
Definition: DynamicData.h:619
RTPS_DllAPI ReturnCode_t get_int16_value(int16_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t clear_data()
RTPS_DllAPI ReturnCode_t set_char8_value(char value, MemberId id=MEMBER_ID_INVALID)
std::map< MemberId, void * > values_
Definition: DynamicData.h:135
RTPS_DllAPI ReturnCode_t set_uint8_value(uint8_t value, MemberId id=MEMBER_ID_INVALID)
Definition: DynamicData.h:415
RTPS_DllAPI ReturnCode_t insert_float64_value(double value, MemberId &outId)
RTPS_DllAPI double get_float64_value(MemberId id) const
Definition: DynamicData.h:569
RTPS_DllAPI ReturnCode_t get_int32_value(int32_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t insert_map_data(const DynamicData *key, const DynamicData *value, MemberId &outKey, MemberId &outValue)
RTPS_DllAPI uint64_t get_uint64_value(MemberId id) const
Definition: DynamicData.h:549
RTPS_DllAPI ReturnCode_t get_uint16_value(uint16_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t insert_uint32_value(uint32_t value, MemberId &outId)
void serializeKey(eprosima::fastcdr::Cdr &cdr) const
RTPS_DllAPI ReturnCode_t insert_enum_value(const std::string &value, MemberId &outId)
RTPS_DllAPI ReturnCode_t set_int8_value(int8_t value, MemberId id=MEMBER_ID_INVALID)
Definition: DynamicData.h:398
RTPS_DllAPI void set_discriminator_value(uint64_t value)
Definition: DynamicData.h:710
RTPS_DllAPI ReturnCode_t set_enum_value(const uint32_t &value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t insert_char16_value(wchar_t value, MemberId &outId)
RTPS_DllAPI ReturnCode_t set_int16_value(int16_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_char8_value(char &value, MemberId id) const
RTPS_DllAPI ReturnCode_t get_uint32_value(uint32_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t get_string_value(std::string &value, MemberId id) const
RTPS_DllAPI ReturnCode_t clear_all_values()
RTPS_DllAPI bool get_bool_value(const std::string &name) const
Definition: DynamicData.h:649
RTPS_DllAPI ReturnCode_t insert_int64_value(int64_t value, MemberId &outId)
RTPS_DllAPI uint32_t get_item_count() const
DynamicData(DynamicType_ptr pType)
RTPS_DllAPI ReturnCode_t set_int32_value(int32_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI uint64_t get_discriminator_value() const
Definition: DynamicData.h:700
uint64_t union_label_
Definition: DynamicData.h:140
RTPS_DllAPI MemberId get_array_index(const std::vector< uint32_t > &position)
RTPS_DllAPI ReturnCode_t set_float32_value(float value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t insert_wstring_value(const std::wstring &value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_uint64_value(uint64_t value, MemberId &outId)
bool deserialize(eprosima::fastcdr::Cdr &cdr)
RTPS_DllAPI ReturnCode_t set_wstring_value(const std::wstring &value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI octet get_byte_value(MemberId id) const
Definition: DynamicData.h:609
void create_members(const DynamicData *pData)
RTPS_DllAPI ReturnCode_t get_bool_value(bool &value, MemberId id) const
RTPS_DllAPI ReturnCode_t get_descriptor(MemberDescriptor &value, MemberId id)
RTPS_DllAPI ReturnCode_t get_union_label(uint64_t &value) const
RTPS_DllAPI uint16_t get_uint16_value(MemberId id) const
Definition: DynamicData.h:529
void get_value(std::string &sOutValue, MemberId id=MEMBER_ID_INVALID) const
RTPS_DllAPI ReturnCode_t insert_map_data(const DynamicData *key, DynamicData_ptr value, MemberId &outKey, MemberId &outValue)
std::vector< MemberId > loaned_values_
Definition: DynamicData.h:137
RTPS_DllAPI ReturnCode_t insert_complex_value(DynamicData_ptr value, MemberId &outId)
RTPS_DllAPI ReturnCode_t set_float128_value(long double value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI float get_float32_value(MemberId id) const
Definition: DynamicData.h:559
RTPS_DllAPI ReturnCode_t insert_complex_value(const DynamicData *value, MemberId &outId)
static size_t getKeyMaxCdrSerializedSize(const DynamicType_ptr type, size_t current_alignment=0)
void set_union_discriminator(DynamicData *pData)
RTPS_DllAPI int32_t get_int32_value(MemberId id) const
Definition: DynamicData.h:499
RTPS_DllAPI ReturnCode_t get_int64_value(int64_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t insert_byte_value(octet value, MemberId &outId)
RTPS_DllAPI std::wstring get_wstring_value(MemberId id) const
Definition: DynamicData.h:670
RTPS_DllAPI wchar_t get_char16_value(MemberId id) const
Definition: DynamicData.h:599
RTPS_DllAPI ReturnCode_t get_char16_value(wchar_t &value, MemberId id) const
RTPS_DllAPI char get_char8_value(MemberId id) const
Definition: DynamicData.h:589
void serialize_discriminator(eprosima::fastcdr::Cdr &cdr) const
RTPS_DllAPI ReturnCode_t set_string_value(const std::string &value, MemberId id=MEMBER_ID_INVALID)
Definition: DynamicPubSubType.h:29
Definition: DynamicTypePtr.h:27
Definition: DynamicType.h:38
Definition: MemberDescriptor.h:29
Definition: TypesBase.h:204
static const ReturnCode_t RETCODE_BAD_PARAMETER
Definition: TypesBase.h:253
static const ReturnCode_t RETCODE_OK
Definition: TypesBase.h:250
uint32_t MemberId
Definition: TypesBase.h:272
octet TypeKind
Definition: TypesBase.h:115
eProsima namespace.
Definition: LibrarySettingsAttributes.h:23