Class DynamicData

Class Documentation

class DynamicData

Public Functions

RTPS_DllAPI ReturnCode_t get_descriptor (MemberDescriptor &value, MemberId id)
RTPS_DllAPI ReturnCode_t set_descriptor (MemberId id, const MemberDescriptor *value)
RTPS_DllAPI ReturnCode_t clear_all_values ()
RTPS_DllAPI ReturnCode_t clear_nonkey_values ()
RTPS_DllAPI ReturnCode_t clear_value (MemberId id)
RTPS_DllAPI bool equals (const DynamicData *other) const
RTPS_DllAPI TypeKind get_kind () const
RTPS_DllAPI uint32_t get_item_count () const
RTPS_DllAPI std::string get_name ()
RTPS_DllAPI MemberId get_member_id_by_name (const std::string &name) const
RTPS_DllAPI MemberId get_member_id_at_index (uint32_t index) const
RTPS_DllAPI DynamicData * loan_value (MemberId id)
RTPS_DllAPI ReturnCode_t return_loaned_value (const DynamicData *value)
RTPS_DllAPI MemberId get_array_index (const std::vector< uint32_t > &position)
RTPS_DllAPI ReturnCode_t insert_sequence_data (MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_int32_value (int32_t value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_uint32_value (uint32_t value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_int16_value (int16_t value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_uint16_value (uint16_t value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_int64_value (int64_t value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_uint64_value (uint64_t value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_float32_value (float value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_float64_value (double value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_float128_value (long double value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_char8_value (char value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_char16_value (wchar_t value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_byte_value (octet value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_bool_value (bool value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_string_value (const std::string &value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_wstring_value (const std::wstring &value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_enum_value (const std::string &value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_complex_value (const DynamicData *value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_complex_value (DynamicData *value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_complex_value (DynamicData_ptr value, MemberId &outId)
RTPS_DllAPI ReturnCode_t remove_sequence_data (MemberId id)
RTPS_DllAPI ReturnCode_t clear_data ()
RTPS_DllAPI ReturnCode_t clear_array_data (MemberId indexId)
RTPS_DllAPI ReturnCode_t insert_map_data (const DynamicData *key, MemberId &outKeyId, MemberId &outValueId)
RTPS_DllAPI ReturnCode_t insert_map_data (const DynamicData *key, DynamicData *value, MemberId &outKey, MemberId &outValue)
RTPS_DllAPI ReturnCode_t insert_map_data (const DynamicData *key, const DynamicData *value, MemberId &outKey, MemberId &outValue)
RTPS_DllAPI ReturnCode_t insert_map_data (const DynamicData *key, DynamicData_ptr value, MemberId &outKey, MemberId &outValue)
RTPS_DllAPI ReturnCode_t remove_map_data (MemberId keyId)
RTPS_DllAPI ReturnCode_t get_int32_value (int32_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_int32_value (int32_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_uint32_value (uint32_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_uint32_value (uint32_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_int16_value (int16_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_int16_value (int16_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_uint16_value (uint16_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_uint16_value (uint16_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_int64_value (int64_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_int64_value (int64_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_uint64_value (uint64_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_uint64_value (uint64_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_float32_value (float &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_float32_value (float value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_float64_value (double &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_float64_value (double value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_float128_value (long double &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_float128_value (long double value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_char8_value (char &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_char8_value (char value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_char16_value (wchar_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_char16_value (wchar_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_byte_value (octet &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_byte_value (octet value, MemberId id=MEMBER_ID_INVALID)
inline RTPS_DllAPI ReturnCode_t get_int8_value (int8_t &value, MemberId id) const
inline RTPS_DllAPI ReturnCode_t set_int8_value (int8_t value, MemberId id=MEMBER_ID_INVALID)
inline RTPS_DllAPI ReturnCode_t get_uint8_value (uint8_t &value, MemberId id) const
inline RTPS_DllAPI ReturnCode_t set_uint8_value (uint8_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_bool_value (bool &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_bool_value (bool value, MemberId id=MEMBER_ID_INVALID)
inline RTPS_DllAPI ReturnCode_t set_bool_value (bool value, const std::string &name)
RTPS_DllAPI ReturnCode_t get_string_value (std::string &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_string_value (const std::string &value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_wstring_value (std::wstring &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_wstring_value (const std::wstring &value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_enum_value (std::string &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_enum_value (uint32_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_enum_value (const uint32_t &value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_bitmask_value (uint64_t &value) const
inline RTPS_DllAPI uint64_t get_bitmask_value () const
RTPS_DllAPI ReturnCode_t set_bitmask_value (uint64_t value)
RTPS_DllAPI ReturnCode_t get_complex_value (DynamicData **value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_complex_value (DynamicData *value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_union_label (uint64_t &value) const
inline RTPS_DllAPI int32_t get_int32_value (MemberId id) const
inline RTPS_DllAPI uint32_t get_uint32_value (MemberId id) const
inline RTPS_DllAPI int16_t get_int16_value (MemberId id) const
inline RTPS_DllAPI uint16_t get_uint16_value (MemberId id) const
inline RTPS_DllAPI int64_t get_int64_value (MemberId id) const
inline RTPS_DllAPI uint64_t get_uint64_value (MemberId id) const
inline RTPS_DllAPI float get_float32_value (MemberId id) const
inline RTPS_DllAPI double get_float64_value (MemberId id) const
inline RTPS_DllAPI long double get_float128_value (MemberId id) const
inline RTPS_DllAPI char get_char8_value (MemberId id) const
inline RTPS_DllAPI wchar_t get_char16_value (MemberId id) const
inline RTPS_DllAPI octet get_byte_value (MemberId id) const
inline RTPS_DllAPI int8_t get_int8_value (MemberId id) const
inline RTPS_DllAPI uint8_t get_uint8_value (MemberId id) const
inline RTPS_DllAPI bool get_bool_value (MemberId id) const
inline RTPS_DllAPI bool get_bool_value (const std::string &name) const
inline RTPS_DllAPI std::string get_string_value (MemberId id) const
inline RTPS_DllAPI std::wstring get_wstring_value (MemberId id) const
inline RTPS_DllAPI std::string get_enum_value (MemberId id) const
inline RTPS_DllAPI uint64_t get_union_label () const
inline RTPS_DllAPI uint64_t get_discriminator_value () const
inline RTPS_DllAPI void get_discriminator_value (uint64_t &outValue) const
inline RTPS_DllAPI void set_discriminator_value (uint64_t value)

Protected Functions

DynamicData()
DynamicData(const DynamicData *pData)
DynamicData(DynamicType_ptr pType)
~DynamicData()
void add_value(TypeKind kind, MemberId id)
void create_members(DynamicType_ptr pType)
void create_members(const DynamicData *pData)
void clean()
void clean_members()
void *clone_value(MemberId id, TypeKind kind) const
bool compare_values(TypeKind kind, void *left, void *right) const
ReturnCode_t insert_array_data(MemberId indexId)
void serialize_empty_data(const DynamicType_ptr pType, eprosima::fastcdr::Cdr &cdr) const
void set_default_value(MemberId id)
void get_value(std::string &sOutValue, MemberId id = MEMBER_ID_INVALID) const
void set_value(const std::string &sValue, MemberId id = MEMBER_ID_INVALID)
void set_type_name(const std::string &name)
MemberId get_union_id() const
ReturnCode_t set_union_id(MemberId id)
void update_union_discriminator()
void sort_member_ids(MemberId startId)
void set_union_discriminator(DynamicData *pData)
bool deserialize(eprosima::fastcdr::Cdr &cdr)
bool deserialize_discriminator(eprosima::fastcdr::Cdr &cdr)
void serialize(eprosima::fastcdr::Cdr &cdr) const
void serialize_discriminator(eprosima::fastcdr::Cdr &cdr) const
void serializeKey(eprosima::fastcdr::Cdr &cdr) const

Protected Attributes

DynamicType_ptr type_
std::map<MemberId, MemberDescriptor*> descriptors_
std::map<MemberId, void*> values_
std::vector<MemberId> loaned_values_
bool key_element_
DynamicData *default_array_value_
uint64_t union_label_
MemberId union_id_
DynamicData *union_discriminator_
uint64_t discriminator_value_

Protected Static Functions

static size_t getCdrSerializedSize(const DynamicData *data, size_t current_alignment = 0)
static size_t getEmptyCdrSerializedSize(const DynamicType *type, size_t current_alignment = 0)
static size_t getKeyMaxCdrSerializedSize(const DynamicType_ptr type, size_t current_alignment = 0)
static size_t getMaxCdrSerializedSize(const DynamicType_ptr type, size_t current_alignment = 0)

Friends

friend class DynamicDataFactory
friend class DynamicPubSubType
friend class DynamicDataHelper
friend class eprosima::fastdds::dds::DDSSQLFilter::DDSFilterExpression