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> 27 namespace DDSSQLFilter {
29 class DDSFilterExpression;
41 class MemberDescriptor;
81 void serialize_empty_data(
83 eprosima::fastcdr::Cdr& cdr)
const;
85 void set_default_value(
89 std::string& sOutValue,
90 MemberId id = MEMBER_ID_INVALID)
const;
93 const std::string& sValue,
97 const std::string& name);
104 void update_union_discriminator();
106 void sort_member_ids(
109 void set_union_discriminator(
114 eprosima::fastcdr::Cdr& cdr);
116 bool deserialize_discriminator(
117 eprosima::fastcdr::Cdr& cdr);
119 static size_t getCdrSerializedSize(
121 size_t current_alignment = 0);
123 static size_t getEmptyCdrSerializedSize(
125 size_t current_alignment = 0);
127 static size_t getKeyMaxCdrSerializedSize(
129 size_t current_alignment = 0);
131 static size_t getMaxCdrSerializedSize(
133 size_t current_alignment = 0);
136 eprosima::fastcdr::Cdr& cdr)
const;
138 void serialize_discriminator(
139 eprosima::fastcdr::Cdr& cdr)
const;
142 eprosima::fastcdr::Cdr& cdr)
const;
147 #ifdef DYNAMIC_TYPES_CHECKING 148 int32_t int32_value_;
149 uint32_t uint32_value_;
150 int16_t int16_value_;
151 uint16_t uint16_value_;
152 int64_t int64_value_;
153 uint64_t uint64_value_;
154 float float32_value_;
155 double float64_value_;
156 long double float128_value_;
158 wchar_t char16_value_;
161 std::string string_value_;
162 std::wstring wstring_value_;
163 std::map<MemberId, DynamicData*> complex_values_;
166 #endif // ifdef DYNAMIC_TYPES_CHECKING 178 friend class eprosima::fastdds::dds::DDSSQLFilter::DDSFilterExpression;
197 RTPS_DllAPI
bool equals(
200 RTPS_DllAPI
TypeKind get_kind()
const;
202 RTPS_DllAPI uint32_t get_item_count()
const;
204 RTPS_DllAPI std::string get_name();
206 RTPS_DllAPI
MemberId get_member_id_by_name(
207 const std::string& name)
const;
209 RTPS_DllAPI
MemberId get_member_id_at_index(
210 uint32_t index)
const;
218 RTPS_DllAPI
MemberId get_array_index(
219 const std::vector<uint32_t>& position);
277 const std::string& value,
281 const std::wstring& value,
285 const std::string& value,
436 value =
static_cast<int8_t
>(aux);
444 return set_byte_value(static_cast<octet>(value),
id);
453 value =
static_cast<uint8_t
>(aux);
461 return set_byte_value(static_cast<octet>(value),
id);
474 const std::string& name)
476 MemberId id = get_member_id_by_name(name);
477 if (
id != MEMBER_ID_INVALID)
479 return set_bool_value(value,
id);
481 return ReturnCode_t::RETCODE_BAD_PARAMETER;
489 const std::string& value,
497 const std::wstring& value,
505 const std::string& value,
513 const uint32_t& value,
517 uint64_t& value)
const;
522 if (get_bitmask_value(value) != ReturnCode_t::RETCODE_OK)
524 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
541 uint64_t& value)
const;
548 if (get_int32_value(value,
id) != ReturnCode_t::RETCODE_OK)
550 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
559 if (get_uint32_value(value,
id) != ReturnCode_t::RETCODE_OK)
561 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
570 if (get_int16_value(value,
id) != ReturnCode_t::RETCODE_OK)
572 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
581 if (get_uint16_value(value,
id) != ReturnCode_t::RETCODE_OK)
583 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
592 if (get_int64_value(value,
id) != ReturnCode_t::RETCODE_OK)
594 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
603 if (get_uint64_value(value,
id) != ReturnCode_t::RETCODE_OK)
605 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
614 if (get_float32_value(value,
id) != ReturnCode_t::RETCODE_OK)
616 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
625 if (get_float64_value(value,
id) != ReturnCode_t::RETCODE_OK)
627 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
636 if (get_float128_value(value,
id) != ReturnCode_t::RETCODE_OK)
638 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
647 if (get_char8_value(value,
id) != ReturnCode_t::RETCODE_OK)
649 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
658 if (get_char16_value(value,
id) != ReturnCode_t::RETCODE_OK)
660 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
669 if (get_byte_value(value,
id) != ReturnCode_t::RETCODE_OK)
671 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
680 if (get_int8_value(value,
id) != ReturnCode_t::RETCODE_OK)
682 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
691 if (get_uint8_value(value,
id) != ReturnCode_t::RETCODE_OK)
693 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
702 if (get_bool_value(value,
id) != ReturnCode_t::RETCODE_OK)
704 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
710 const std::string& name)
const 712 MemberId id = get_member_id_by_name(name);
714 if (get_bool_value(value,
id) != ReturnCode_t::RETCODE_OK)
716 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
725 if (get_string_value(value,
id) != ReturnCode_t::RETCODE_OK)
727 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
736 if (get_wstring_value(value,
id) != ReturnCode_t::RETCODE_OK)
738 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
747 if (get_enum_value(value,
id) != ReturnCode_t::RETCODE_OK)
749 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
757 if (get_union_label(value) != ReturnCode_t::RETCODE_OK)
759 throw ReturnCode_t::RETCODE_BAD_PARAMETER;
766 return discriminator_value_;
770 uint64_t& outValue)
const 772 outValue = discriminator_value_;
778 discriminator_value_ = value;
788 #endif // TYPES_DYNAMIC_DATA_H RTPS_DllAPI uint16_t get_uint16_value(MemberId id) const
Definition: DynamicData.h:577
Definition: DynamicPubSubType.h:28
RTPS_DllAPI uint64_t get_discriminator_value() const
Definition: DynamicData.h:764
RTPS_DllAPI wchar_t get_char16_value(MemberId id) const
Definition: DynamicData.h:654
DynamicData * union_discriminator_
Definition: DynamicData.h:172
Definition: DynamicDataPtr.h:26
RTPS_DllAPI ReturnCode_t set_bool_value(bool value, const std::string &name)
Definition: DynamicData.h:472
RTPS_DllAPI ReturnCode_t set_uint8_value(uint8_t value, MemberId id=MEMBER_ID_INVALID)
Definition: DynamicData.h:457
RTPS_DllAPI octet get_byte_value(MemberId id) const
Definition: DynamicData.h:665
Definition: DynamicData.h:43
uint32_t MemberId
Definition: TypesBase.h:272
RTPS_DllAPI bool get_bool_value(const std::string &name) const
Definition: DynamicData.h:709
std::map< MemberId, MemberDescriptor * > descriptors_
Definition: DynamicData.h:145
RTPS_DllAPI std::string get_enum_value(MemberId id) const
Definition: DynamicData.h:743
RTPS_DllAPI int16_t get_int16_value(MemberId id) const
Definition: DynamicData.h:566
uint64_t discriminator_value_
Definition: DynamicData.h:173
std::map< MemberId, void * > values_
Definition: DynamicData.h:165
RTPS_DllAPI std::string get_string_value(MemberId id) const
Definition: DynamicData.h:721
bool key_element_
Definition: DynamicData.h:168
RTPS_DllAPI int64_t get_int64_value(MemberId id) const
Definition: DynamicData.h:588
RTPS_DllAPI long double get_float128_value(MemberId id) const
Definition: DynamicData.h:632
RTPS_DllAPI std::wstring get_wstring_value(MemberId id) const
Definition: DynamicData.h:732
RTPS_DllAPI double get_float64_value(MemberId id) const
Definition: DynamicData.h:621
RTPS_DllAPI uint8_t get_uint8_value(MemberId id) const
Definition: DynamicData.h:687
eProsima namespace.
Definition: LibrarySettingsAttributes.h:23
RTPS_DllAPI float get_float32_value(MemberId id) const
Definition: DynamicData.h:610
Definition: MemberDescriptor.h:28
uint64_t union_label_
Definition: DynamicData.h:170
RTPS_DllAPI ReturnCode_t set_int8_value(int8_t value, MemberId id=MEMBER_ID_INVALID)
Definition: DynamicData.h:440
octet TypeKind
Definition: TypesBase.h:119
This class represents the enumeration ReturnCode_t.
Definition: TypesBase.h:188
std::vector< MemberId > loaned_values_
Definition: DynamicData.h:167
RTPS_DllAPI int8_t get_int8_value(MemberId id) const
Definition: DynamicData.h:676
Definition: DynamicType.h:37
Definition: DynamicDataFactory.h:31
RTPS_DllAPI uint64_t get_union_label() const
Definition: DynamicData.h:754
RTPS_DllAPI uint64_t get_bitmask_value() const
Definition: DynamicData.h:519
RTPS_DllAPI bool get_bool_value(MemberId id) const
Definition: DynamicData.h:698
RTPS_DllAPI char get_char8_value(MemberId id) const
Definition: DynamicData.h:643
DynamicType_ptr type_
Definition: DynamicData.h:144
RTPS_DllAPI void get_discriminator_value(uint64_t &outValue) const
Definition: DynamicData.h:769
MemberId union_id_
Definition: DynamicData.h:171
RTPS_DllAPI void set_discriminator_value(uint64_t value)
Definition: DynamicData.h:775
RTPS_DllAPI uint32_t get_uint32_value(MemberId id) const
Definition: DynamicData.h:555
RTPS_DllAPI ReturnCode_t get_uint8_value(uint8_t &value, MemberId id) const
Definition: DynamicData.h:447
RTPS_DllAPI ReturnCode_t get_int8_value(int8_t &value, MemberId id) const
Definition: DynamicData.h:430
Definition: DynamicDataHelper.hpp:29
DynamicData * default_array_value_
Definition: DynamicData.h:169
RTPS_DllAPI int32_t get_int32_value(MemberId id) const
Definition: DynamicData.h:544
RTPS_DllAPI uint64_t get_uint64_value(MemberId id) const
Definition: DynamicData.h:599
Definition: DynamicTypePtr.h:26