Fast DDS  Version 3.6.1.0
Fast DDS
Loading...
Searching...
No Matches
ParameterTypes.hpp
1// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
18
19#ifndef FASTDDS_DDS_CORE_POLICY__PARAMETERTYPES_HPP
20#define FASTDDS_DDS_CORE_POLICY__PARAMETERTYPES_HPP
21
22#ifndef DOXYGEN_SHOULD_SKIP_THIS_PUBLIC
23
24#include <atomic>
25#include <string>
26#include <vector>
27
28#include <fastcdr/cdr/fixed_size_string.hpp>
29
30#include <fastdds/dds/core/Types.hpp>
31#include <fastdds/rtps/common/InstanceHandle.hpp>
32#include <fastdds/rtps/common/Locator.hpp>
33#include <fastdds/rtps/common/OriginalWriterInfo.hpp>
34#include <fastdds/rtps/common/ProductVersion_t.hpp>
35#include <fastdds/rtps/common/SampleIdentity.hpp>
36#include <fastdds/rtps/common/SerializedPayload.hpp>
37#include <fastdds/rtps/common/Time_t.hpp>
38#include <fastdds/rtps/common/Token.hpp>
39
40#if HAVE_SECURITY
41#include <fastdds/rtps/attributes/EndpointSecurityAttributes.hpp>
42#endif // if HAVE_SECURITY
43
44namespace eprosima {
45namespace fastdds {
46namespace rtps {
47struct CDRMessage_t;
48#if HAVE_SECURITY
49namespace security {
50struct ParticipantSecurityAttributes;
52typedef uint32_t EndpointSecurityAttributesMask;
53typedef uint32_t PluginParticipantSecurityAttributesMask;
54typedef uint32_t ParticipantSecurityAttributesMask;
55} // namespace security
56#endif // HAVE_SECURITY
57} // namespace rtps
58
59namespace dds {
60
65
69enum ParameterId_t : uint16_t
70{
71 /* From Table 9.18 of DDS-RTPS 2.5 */
72 PID_PAD = 0x0000,
73 PID_SENTINEL = 0x0001,
74 PID_USER_DATA = 0x002c,
76 PID_TYPE_NAME = 0x0007,
81 PID_DEADLINE = 0x0023,
85 PID_LIFESPAN = 0x002b,
87 PID_HISTORY = 0x0040,
89 PID_OWNERSHIP = 0x001f,
92 PID_PARTITION = 0x0029,
95 PID_DOMAIN_ID = 0x000f,
98 PID_VENDORID = 0x0016,
118
119 /* From table 9.20 of DDS-RTPS 2.5 - inline QoS only */
128 PID_KEY_HASH = 0x0070,
130
131 /* Deprecated */
132 // PID_MULTICAST_IPADDRESS = 0x0011,
133 // PID_DEFAULT_UNICAST_IPADDRESS = 0x000c,
134 // PID_DEFAULT_UNICAST_PORT = 0x000e,
135 // PID_METATRAFFIC_UNICAST_IPADDRESS = 0x0045,
136 // PID_METATRAFFIC_UNICAST_PORT = 0x000d,
137 // PID_METATRAFFIC_MULTICAST_IPADDRESS = 0x000b,
138 // PID_METATRAFFIC_MULTICAST_PORT = 0x0046,
139 // PID_PARTICIPANT_BUILTIN_ENDPOINTS = 0x0044,
140 // PID_PARTICIPANT_ENTITYID = 0x0051,
141
142 /* From DDS-XTYPES 1.3 */
148
149 /* From table 10 of DDS-SEC 1.1 */
153
154 /* From table 12 of DDS-SEC 1.1 */
156
157 /* From table 13 of DDS-SEC 1.1 */
159
160 /* From table 14 of DDS-SEC 1.1 */
162
163 /* From Remote Procedure Call over DDS, document "ptc/2016-03-19" V1.0 */
168
169 /* eProsima Fast DDS extensions */
178 /* Writer specific */
183 /* Reader specific */
187 /* Participant specific */
189 /* RPC specific */
191
192 /* eProsima Safe DDS extensions */
194};
195
202{
203public:
204
208 FASTDDS_EXPORTED_API Parameter_t()
209 : Pid(PID_PAD)
210 , length(0)
211 {
212 }
213
220 FASTDDS_EXPORTED_API Parameter_t(
221 ParameterId_t pid,
222 uint16_t length)
223 : Pid(pid)
224 , length(length)
225 {
226 }
227
231 virtual FASTDDS_EXPORTED_API ~Parameter_t()
232 {
233 }
234
236 const Parameter_t& b) const
237 {
238 return (this->Pid == b.Pid) &&
239 (this->length == b.length);
240 }
241
242public:
243
247 uint16_t length;
248};
249
254{
255public:
256
263 {
264 }
265
273 ParameterId_t pid,
274 uint16_t in_length)
275 : Parameter_t(pid, in_length)
276 {
277 }
278
287 ParameterId_t pid,
288 uint16_t in_length,
290 : Parameter_t(pid, in_length)
291 , key(ke)
292 {
293 }
294
295};
296
297#define PARAMETER_KEY_HASH_LENGTH 16
298
303{
304public:
305
308
313 {
314 }
315
323 ParameterId_t pid,
324 uint16_t in_length)
325 : Parameter_t(pid, in_length)
326 {
327 }
328
337 ParameterId_t pid,
338 uint16_t in_length,
339 const rtps::Locator& loc)
340 : Parameter_t(pid, in_length)
341 , locator(loc)
342 {
343 }
344
345};
346#define PARAMETER_LOCATOR_LENGTH 24
347
348
353{
354public:
355
360 {
361 }
362
370 ParameterId_t pid,
371 uint16_t in_length)
372 : Parameter_t(pid, in_length)
373 {
374 }
375
384 ParameterId_t pid,
385 uint16_t in_length,
386 const fastcdr::string_255& strin)
387 : Parameter_t(pid, in_length)
388 , string_(strin)
389 {
390 }
391
397 inline const char* getName() const
398 {
399 return string_.c_str();
400 }
401
407 inline void setName(
408 const char* name)
409 {
410 string_ = name;
411 }
412
418 inline size_t size() const
419 {
420 return string_.size();
421 }
422
423private:
424
426 fastcdr::string_255 string_;
427};
428
433{
434public:
435
437 uint32_t port;
438
443 : port(0)
444 {
445 }
446
454 ParameterId_t pid,
455 uint16_t in_length)
456 : Parameter_t(pid, in_length)
457 , port(0)
458 {
459 }
460
469 ParameterId_t pid,
470 uint16_t in_length,
471 uint32_t po)
472 : Parameter_t(pid, in_length)
473 , port(po)
474 {
475 }
476
477};
478
479#define PARAMETER_PORT_LENGTH 4
480
485{
486public:
487
490
495 {
496 }
497
505 ParameterId_t pid,
506 uint16_t in_length)
507 : Parameter_t(pid, in_length)
508 {
509 }
510
519 ParameterId_t pid,
520 uint16_t in_length,
521 const fastdds::rtps::GUID_t& guidin)
522 : Parameter_t(pid, in_length)
523 , guid(guidin)
524 {
525 }
526
535 ParameterId_t pid,
536 uint16_t in_length,
538 : Parameter_t(pid, in_length)
539 {
541 }
542
543};
544
545#define PARAMETER_GUID_LENGTH 16
546
551{
552public:
553
555 uint32_t domain_id;
556
564
572 ParameterId_t pid,
573 uint16_t in_length)
574 : Parameter_t(pid, in_length)
576 {
578 }
579
580};
581
582#define PARAMETER_DOMAINID_LENGTH 4
583
617
618#define PARAMETER_PROTOCOL_LENGTH 4
619
624{
625public:
626
629
634 : vendorId(fastdds::rtps::c_VendorId_eProsima)
635 {
636 }
637
645 ParameterId_t pid,
646 uint16_t in_length)
647 : Parameter_t(pid, in_length)
648 , vendorId(fastdds::rtps::c_VendorId_eProsima)
649 {
650 }
651
652};
653
654#define PARAMETER_VENDOR_LENGTH 4
655
660{
661public:
662
664
671
679 ParameterId_t pid,
680 uint16_t in_length)
681 : Parameter_t(pid, in_length)
682 {
683 }
684
685};
686
687#define PARAMETER_PRODUCT_VERSION_LENGTH 4
688
693{
694public:
695
698
703 {
704 this->setIP4Address(0, 0, 0, 0);
705 }
706
714 ParameterId_t pid,
715 uint16_t in_length)
716 : Parameter_t(pid, in_length)
717 {
718 this->setIP4Address(0, 0, 0, 0);
719 }
720
734 {
735 address[0] = o1;
736 address[1] = o2;
737 address[2] = o3;
738 address[3] = o4;
739 }
740
741};
742
743#define PARAMETER_IP4_LENGTH 4
744
749{
750public:
751
753 bool value;
754
759 : value(false)
760 {
761 }
762
770 ParameterId_t pid,
771 uint16_t in_length)
772 : Parameter_t(pid, in_length)
773 , value(false)
774 {
775 }
776
785 ParameterId_t pid,
786 uint16_t in_length,
787 bool inbool)
788 : Parameter_t(pid, in_length)
789 , value(inbool)
790 {
791 }
792
793};
794
795#define PARAMETER_BOOL_LENGTH 4
796
801{
802public:
803
805 uint8_t status;
806
811 : status(0)
812 {
813 }
814
822 ParameterId_t pid,
823 uint16_t in_length)
824 : Parameter_t(pid, in_length)
825 , status(0)
826 {
827 }
828
837 ParameterId_t pid,
838 uint16_t in_length,
839 uint8_t instatus)
840 : Parameter_t(pid, in_length)
841 , status(instatus)
842 {
843 }
844
845};
846
847#define PARAMETER_STATUS_INFO_LENGTH 4
848
853{
854public:
855
858
863 : count(0)
864 {
865 }
866
874 ParameterId_t pid,
875 uint16_t in_length)
876 : Parameter_t(pid, in_length)
877 , count(0)
878 {
879 }
880
881};
882
883#define PARAMETER_COUNT_LENGTH 4
884
889{
890public:
891
894
899 : entityId(ENTITYID_UNKNOWN)
900 {
901 }
902
910 ParameterId_t pid,
911 uint16_t in_length)
912 : Parameter_t(pid, in_length)
913 , entityId(ENTITYID_UNKNOWN)
914 {
915 }
916
917};
918
919#define PARAMETER_ENTITYID_LENGTH 4
920
925{
926public:
927
930
935 {
936 }
937
945 ParameterId_t pid,
946 uint16_t in_length)
947 : Parameter_t(pid, in_length)
948 {
949 }
950
951};
952
953#define PARAMETER_TIME_LENGTH 8
954
959{
960public:
961
964
972
980 ParameterId_t pid,
981 uint16_t in_length)
982 : Parameter_t(pid, in_length)
983 , endpointSet(0)
984 {
985 }
986
987};
988
989#define PARAMETER_BUILTINENDPOINTSET_LENGTH 4
990
995{
996public:
997
1000
1008
1016 ParameterId_t pid,
1017 uint16_t in_length)
1018 : Parameter_t(pid, in_length)
1019 , netconfigSet(0)
1020 {
1021 }
1022
1023};
1024
1025#define PARAMETER_NETWORKCONFIGSET_LENGTH 4
1026
1031{
1032
1034
1035private:
1036
1039
1040public:
1041
1046 {
1047 data = nullptr;
1048 }
1049
1056 void* ptr)
1057 {
1058 data = (fastdds::rtps::octet*)ptr;
1059 }
1060
1066 std::string first() const
1067 {
1068 //Skip the size and return the string
1069 return std::string((char*)data + 4);
1070 }
1071
1077 std::string second() const
1078 {
1079 //Skip the first element
1080 uint32_t size1 = ParameterProperty_t::element_size(data);
1081
1082 //Skip the size of the second element and return the string
1083 return std::string((char*)data + size1 + 4);
1084 }
1085
1093 const std::pair<std::string, std::string>& new_value)
1094 {
1095 uint32_t old_size = size();
1096
1097 uint32_t first_size = (uint32_t)new_value.first.size() + 1;
1098 uint32_t first_alignment = ((first_size + 3u) & ~3u) - first_size;
1099 uint32_t second_size = (uint32_t)new_value.second.size() + 1;
1100 uint32_t second_alignment = ((second_size + 3u) & ~3u) - second_size;
1101 uint32_t new_size = first_size + first_alignment + second_size + second_alignment + 8;
1102
1103 if (old_size != new_size)
1104 {
1105 return false;
1106 }
1107
1108 fastdds::rtps::octet* current = data;
1109 memcpy(current, &first_size, 4);
1110 memcpy(current + 4, new_value.first.c_str(), first_size);
1111 memset(current + 4 + first_size, 0, first_alignment);
1112
1113 current = data + 4 + first_size + first_alignment;
1114 memcpy(current, &second_size, 4);
1115 memcpy(current + 4, new_value.second.c_str(), second_size);
1116 memset(current + 4 + second_size, 0, second_alignment);
1117
1118 return true;
1119 }
1120
1126 std::pair<const std::string, const std::string> pair() const
1127 {
1128 return std::make_pair(std::string(first()), std::string(second()));
1129 }
1130
1136 uint32_t size() const
1137 {
1138 //Size of the first element (with alignment)
1139 uint32_t size1 = ParameterProperty_t::element_size(data);
1140
1141 //Size of the second element (with alignment)
1142 uint32_t size2 = ParameterProperty_t::element_size(data + size1);
1143 return size1 + size2;
1144 }
1145
1147 const ParameterProperty_t& b) const
1148 {
1149 return (first() == b.first()) &&
1150 (second() == b.second());
1151 }
1152
1154 const ParameterProperty_t& b) const
1155 {
1156 return !(*this == b);
1157 }
1158
1159private:
1160
1167 static uint32_t element_size(
1168 const fastdds::rtps::octet* ptr)
1169 {
1170 //Size of the element (with alignment)
1171 uint32_t size = *(uint32_t*)ptr;
1172 return (4u + ((size + 3u) & ~3u));
1173 }
1174
1175};
1176
1182const std::string parameter_property_persistence_guid = "PID_PERSISTENCE_GUID";
1183
1189const std::string parameter_property_participant_type = "PARTICIPANT_TYPE";
1190
1196const std::string parameter_property_ds_version = "DS_VERSION";
1197
1204
1210const char* const parameter_policy_physical_data_host = "fastdds.physical_data.host";
1211
1217const char* const parameter_policy_physical_data_user = "fastdds.physical_data.user";
1218
1224const char* const parameter_policy_physical_data_process = "fastdds.physical_data.process";
1225
1231const char* const parameter_enable_monitor_service = "fastdds.enable_monitor_service";
1232
1238const char* const parameter_policy_type_propagation = "fastdds.type_propagation";
1239
1245const char* const parameter_serialize_optional_qos = "fastdds.serialize_optional_qos";
1246
1251{
1252private:
1253
1257 uint32_t Nproperties_ = 0;
1259 bool limit_size_ = false;
1260
1261public:
1262
1264 {
1265 public:
1266
1271 typedef size_t difference_type;
1272 typedef std::forward_iterator_tag iterator_category;
1273
1281 : ptr_(ptr)
1282 , value_(ptr)
1283 {
1284 }
1285
1287 {
1288 advance();
1289 return *this;
1290 }
1291
1293 int)
1294 {
1295 self_type i = *this;
1296 advance();
1297 return i;
1298 }
1299
1301 {
1302 return value_;
1303 }
1304
1306 {
1307 return &value_;
1308 }
1309
1311 const self_type& rhs) const
1312 {
1313 return ptr_ == rhs.ptr_;
1314 }
1315
1317 const self_type& rhs) const
1318 {
1319 return ptr_ != rhs.ptr_;
1320 }
1321
1322 protected:
1323
1327 void advance()
1328 {
1329 ptr_ += value_.size();
1330 value_ = ParameterProperty_t(ptr_);
1331 }
1332
1339 {
1340 return ptr_;
1341 }
1342
1343 private:
1344
1348 ParameterProperty_t value_;
1349 };
1350
1352 {
1353 public:
1354
1359 typedef size_t difference_type;
1360 typedef std::forward_iterator_tag iterator_category;
1361
1368 const fastdds::rtps::octet* ptr)
1369 : ptr_(ptr)
1370 , value_(const_cast<fastdds::rtps::octet*>(ptr))
1371 {
1372 }
1373
1375 {
1376 advance();
1377 return *this;
1378 }
1379
1381 int)
1382 {
1383 self_type i = *this;
1384 advance();
1385 return i;
1386 }
1387
1389 {
1390 return value_;
1391 }
1392
1394 {
1395 return &value_;
1396 }
1397
1399 const self_type& rhs) const
1400 {
1401 return ptr_ == rhs.ptr_;
1402 }
1403
1405 const self_type& rhs) const
1406 {
1407 return ptr_ != rhs.ptr_;
1408 }
1409
1410 protected:
1411
1415 void advance()
1416 {
1417 ptr_ += value_.size();
1418 value_ = ParameterProperty_t(const_cast<fastdds::rtps::octet*>(ptr_));
1419 }
1420
1427 {
1428 return ptr_;
1429 }
1430
1431 private:
1432
1434 const fastdds::rtps::octet* ptr_;
1436 ParameterProperty_t value_;
1437 };
1438
1439public:
1440
1447 , Nproperties_ (0)
1448 , limit_size_ (false)
1449 {
1450 }
1451
1458 uint32_t size)
1460 , properties_(size)
1461 , Nproperties_ (0)
1462 , limit_size_ (size == 0 ? false : true)
1463 {
1464 }
1465
1473 ParameterId_t pid,
1474 uint16_t in_length)
1475 : Parameter_t(PID_PROPERTY_LIST, in_length)
1476 , Nproperties_ (0)
1477 , limit_size_ (false)
1478 {
1479 static_cast<void>(pid);
1480 }
1481
1488 const ParameterPropertyList_t& parameter_properties)
1489 : Parameter_t(PID_PROPERTY_LIST, parameter_properties.length)
1490 , properties_(parameter_properties.limit_size_ ?
1491 parameter_properties.properties_.max_size :
1492 parameter_properties.properties_.length)
1493 , Nproperties_ (parameter_properties.Nproperties_)
1494 , limit_size_ (parameter_properties.limit_size_)
1495 {
1496 properties_.copy(&parameter_properties.properties_, parameter_properties.limit_size_);
1497 }
1498
1500 const ParameterPropertyList_t& parameter_properties)
1501 {
1502 length = parameter_properties.length;
1503 limit_size_ = parameter_properties.limit_size_;
1504 properties_.reserve(limit_size_ ?
1505 parameter_properties.properties_.max_size :
1506 parameter_properties.properties_.length);
1507 properties_.copy(&parameter_properties.properties_, parameter_properties.limit_size_);
1508 Nproperties_ = parameter_properties.Nproperties_;
1509 return *this;
1510 }
1511
1518 {
1519 return iterator(properties_.data);
1520 }
1521
1528 {
1529 return iterator(properties_.data + properties_.length);
1530 }
1531
1538 {
1539 return const_iterator(properties_.data);
1540 }
1541
1548 {
1549 return const_iterator(properties_.data + properties_.length);
1550 }
1551
1559 std::pair<std::string, std::string> p)
1560 {
1561 return push_back(p.first, p.second);
1562 }
1563
1572 const std::string& key,
1573 const std::string& value)
1574 {
1575 auto str1 = reinterpret_cast<const unsigned char*>(key.c_str());
1576 uint32_t size1 = (uint32_t) key.length() + 1;
1577 auto str2 = reinterpret_cast<const unsigned char*>(value.c_str());
1578 uint32_t size2 = (uint32_t) value.length() + 1;
1579
1580 return push_back(str1, size1, str2, size2);
1581 }
1582
1593 const unsigned char* str1,
1594 uint32_t str1_size,
1595 const unsigned char* str2,
1596 uint32_t str2_size)
1597 {
1598 //Realloc if needed;
1599 uint32_t alignment1 = ((str1_size + 3u) & ~3u) - str1_size;
1600 uint32_t alignment2 = ((str2_size + 3u) & ~3u) - str2_size;
1601
1602 if (limit_size_ && (properties_.max_size < properties_.length +
1603 str1_size + alignment1 + 4 +
1604 str2_size + alignment2 + 4))
1605 {
1606 return false;
1607 }
1608 properties_.reserve(properties_.length +
1609 str1_size + alignment1 + 4 +
1610 str2_size + alignment2 + 4);
1611
1612 push_back_helper((fastdds::rtps::octet*)str1, str1_size, alignment1);
1613 push_back_helper((fastdds::rtps::octet*)str2, str2_size, alignment2);
1614 ++Nproperties_;
1615 return true;
1616 }
1617
1626 iterator pos,
1627 const std::pair<std::string, std::string>& new_value)
1628 {
1629 return pos->modify(new_value);
1630 }
1631
1635 void clear()
1636 {
1637 properties_.length = 0;
1638 Nproperties_ = 0;
1639 }
1640
1646 uint32_t size() const
1647 {
1648 return Nproperties_;
1649 }
1650
1655 uint32_t size)
1656 {
1657 properties_.reserve(size);
1658 limit_size_ = true;
1659 }
1660
1666 uint32_t max_size ()
1667 {
1668 return (limit_size_ ? properties_.max_size : 0);
1669 }
1670
1671protected:
1672
1674 const fastdds::rtps::octet* data,
1675 uint32_t size,
1676 uint32_t alignment)
1677 {
1679 memcpy(properties_.data + properties_.length, o, 4);
1680 properties_.length += 4;
1681
1682 memcpy(properties_.data + properties_.length, data, size);
1683 properties_.length += size;
1684
1685 for (uint32_t i = 0; i < alignment; ++i)
1686 {
1687 properties_.data[properties_.length + i] = '\0';
1688 }
1689 properties_.length += alignment;
1690 }
1691
1692};
1693
1694
1699{
1700public:
1701
1704
1709 : sample_id(fastdds::rtps::SampleIdentity::unknown())
1710 {
1711 }
1712
1720 ParameterId_t pid,
1721 uint16_t in_length)
1722 : Parameter_t(pid, in_length)
1723 , sample_id(fastdds::rtps::SampleIdentity::unknown())
1724 {
1725 }
1726
1734 fastdds::rtps::CDRMessage_t* msg) const;
1735
1745 uint16_t size);
1746
1747};
1748
1749#define PARAMETER_SAMPLEIDENTITY_LENGTH 24
1750
1755{
1756public:
1757
1760
1765 : original_writer_info(fastdds::rtps::OriginalWriterInfo::unknown())
1766 {
1767 }
1768
1776 ParameterId_t pid,
1777 uint16_t in_length)
1778 : Parameter_t(pid, in_length)
1779 , original_writer_info(fastdds::rtps::OriginalWriterInfo::unknown())
1780 {
1781 }
1782
1790 fastdds::rtps::CDRMessage_t* msg) const;
1791
1801 uint16_t size);
1802
1803};
1804
1805#define PARAMETER_ORIGINALWRITERINFO_LENGTH 24
1806
1807
1808#if HAVE_SECURITY
1809
1813class ParameterToken_t : public Parameter_t
1814{
1815public:
1816
1818 fastdds::rtps::Token token;
1819
1823 ParameterToken_t()
1824 {
1825 }
1826
1833 ParameterToken_t(
1834 ParameterId_t pid,
1835 uint16_t in_length)
1836 : Parameter_t(pid, in_length)
1837 {
1838 }
1839
1840};
1841
1843#define PARAMETER_PARTICIPANT_SECURITY_INFO_LENGTH 8
1844
1848class ParameterParticipantSecurityInfo_t : public Parameter_t
1849{
1850public:
1851
1853 fastdds::rtps::security::ParticipantSecurityAttributesMask security_attributes = 0;
1855 fastdds::rtps::security::PluginParticipantSecurityAttributesMask plugin_security_attributes = 0;
1856
1862 ParameterParticipantSecurityInfo_t()
1863 : Parameter_t(PID_PARTICIPANT_SECURITY_INFO, PARAMETER_PARTICIPANT_SECURITY_INFO_LENGTH)
1864 {
1865 }
1866
1873 ParameterParticipantSecurityInfo_t(
1874 ParameterId_t pid,
1875 uint16_t in_length)
1876 : Parameter_t(pid, in_length)
1877 {
1878 }
1879
1880};
1881
1883#define PARAMETER_ENDPOINT_SECURITY_INFO_LENGTH 8
1884
1888class ParameterEndpointSecurityInfo_t : public Parameter_t
1889{
1890public:
1891
1892 fastdds::rtps::security::EndpointSecurityAttributesMask security_attributes = 0;
1893 fastdds::rtps::security::PluginEndpointSecurityAttributesMask plugin_security_attributes = 0;
1894
1900 ParameterEndpointSecurityInfo_t()
1901 : Parameter_t(PID_ENDPOINT_SECURITY_INFO, PARAMETER_ENDPOINT_SECURITY_INFO_LENGTH)
1902 {
1903 }
1904
1911 ParameterEndpointSecurityInfo_t(
1912 ParameterId_t pid,
1913 uint16_t in_length)
1914 : Parameter_t(pid, in_length)
1915 {
1916 }
1917
1918};
1919
1920#endif // if HAVE_SECURITY
1921
1923
1924template<class T, class PL>
1926 const T& p,
1927 const char* PID,
1928 PL& properties)
1929{
1930 // only valid values
1931 if (p == T::unknown())
1932 {
1933 return;
1934 }
1935
1936 // generate pair
1937 std::pair<std::string, std::string> pair;
1938 pair.first = PID;
1939
1940 std::ostringstream data;
1941 data << p;
1942 pair.second = data.str();
1943
1944 // if exists replace
1945 auto it = std::find_if(
1946 properties.begin(),
1947 properties.end(),
1948 [&pair](const typename PL::const_iterator::reference p)
1949 {
1950 return pair.first == p.first();
1951 });
1952
1953 if (it != properties.end())
1954 {
1955 // it->modify(pair);
1956 properties.set_property(it, pair);
1957 }
1958 else
1959 {
1960 // if not exists add
1961 properties.push_back(pair.first, pair.second);
1962 }
1963}
1964
1965template<class T, class PL>
1967 const char* const PID,
1968 PL& properties)
1969{
1970 T property;
1971
1972 auto it = std::find_if(
1973 properties.begin(),
1974 properties.end(),
1975 [PID](const typename PL::const_iterator::reference p)
1976 {
1977 return PID == p.first();
1978 });
1979
1980 if (it != properties.end())
1981 {
1982 std::istringstream in(it->second());
1983 in >> property;
1984 }
1985
1986 return property;
1987}
1988
1989} //namespace dds
1990
1991namespace rtps {
1992
2014#if HAVE_SECURITY
2015using ParameterToken_t = fastdds::dds::ParameterToken_t;
2016using ParameterParticipantSecurityInfo_t = fastdds::dds::ParameterParticipantSecurityInfo_t;
2017using ParameterEndpointSecurityInfo_t = fastdds::dds::ParameterEndpointSecurityInfo_t;
2018#endif // if HAVE_SECURITY
2019
2020} //namespace rtps
2021} //namespace fastdds
2022} //namespace eprosima
2023
2024#endif // ifndef DOXYGEN_SHOULD_SKIP_THIS_PUBLIC
2025#endif // FASTDDS_DDS_CORE_POLICY__PARAMETERTYPES_HPP
Base Parameter class with parameter PID and parameter length in bytes.
Definition ParameterTypes.hpp:202
ParameterId_t Pid
Parameter ID. By default, PID_PAD.
Definition ParameterTypes.hpp:245
FASTDDS_EXPORTED_API Parameter_t()
Constructor without parameters.
Definition ParameterTypes.hpp:208
uint16_t length
Parameter length. By default, 0.
Definition ParameterTypes.hpp:247
FASTDDS_EXPORTED_API Parameter_t(ParameterId_t pid, uint16_t length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:220
virtual FASTDDS_EXPORTED_API ~Parameter_t()
Destructor.
Definition ParameterTypes.hpp:231
bool operator==(const Parameter_t &b) const
Definition ParameterTypes.hpp:235
Definition ParameterTypes.hpp:749
bool value
Boolean By default, false.
Definition ParameterTypes.hpp:753
ParameterBool_t()
Constructor without parameter.
Definition ParameterTypes.hpp:758
ParameterBool_t(ParameterId_t pid, uint16_t in_length, bool inbool)
Constructor using a parameter PID, the parameter length and a boolean.
Definition ParameterTypes.hpp:784
ParameterBool_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:769
ParameterBuiltinEndpointSet_t()
Constructor without parameters.
Definition ParameterTypes.hpp:968
ParameterBuiltinEndpointSet_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:979
fastdds::rtps::BuiltinEndpointSet_t endpointSet
Builtin Endpoint Set By default, 0.
Definition ParameterTypes.hpp:963
Definition ParameterTypes.hpp:853
ParameterCount_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:873
fastdds::rtps::Count_t count
Count By default, 0.
Definition ParameterTypes.hpp:857
ParameterCount_t()
Constructor without parameter.
Definition ParameterTypes.hpp:862
Definition ParameterTypes.hpp:551
uint32_t domain_id
Domain ID. By default, DOMAIN_ID_UNKNOWN.
Definition ParameterTypes.hpp:555
ParameterDomainId_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:571
ParameterDomainId_t()
Constructor without parameters.
Definition ParameterTypes.hpp:560
Definition ParameterTypes.hpp:889
ParameterEntityId_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:909
ParameterEntityId_t()
Constructor without parameters.
Definition ParameterTypes.hpp:898
fastdds::rtps::EntityId_t entityId
EntityId By default, ENTITYID_UNKNOWN.
Definition ParameterTypes.hpp:893
Definition ParameterTypes.hpp:485
ParameterGuid_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:504
ParameterGuid_t(ParameterId_t pid, uint16_t in_length, const fastdds::rtps::InstanceHandle_t &iH)
Constructor using a parameter PID, the parameter length and a Instance Handle.
Definition ParameterTypes.hpp:534
fastdds::rtps::GUID_t guid
GUID By default, unknown GUID.
Definition ParameterTypes.hpp:489
ParameterGuid_t()
Constructor without parameters.
Definition ParameterTypes.hpp:494
ParameterGuid_t(ParameterId_t pid, uint16_t in_length, const fastdds::rtps::GUID_t &guidin)
Constructor using a parameter PID, the parameter length and a GUID.
Definition ParameterTypes.hpp:518
Definition ParameterTypes.hpp:693
ParameterIP4Address_t()
Constructor without parameters.
Definition ParameterTypes.hpp:702
ParameterIP4Address_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:713
fastdds::rtps::octet address[4]
Address By default [0,0,0,0].
Definition ParameterTypes.hpp:697
void setIP4Address(fastdds::rtps::octet o1, fastdds::rtps::octet o2, fastdds::rtps::octet o3, fastdds::rtps::octet o4)
Setter for the address.
Definition ParameterTypes.hpp:729
Definition ParameterTypes.hpp:254
ParameterKey_t()
Constructor without parameters.
Definition ParameterTypes.hpp:262
ParameterKey_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:272
ParameterKey_t(ParameterId_t pid, uint16_t in_length, const fastdds::rtps::InstanceHandle_t &ke)
Constructor using a parameter PID, parameter length and Instance Handle.
Definition ParameterTypes.hpp:286
fastdds::rtps::InstanceHandle_t key
Instance Handle. By default, c_InstanceHandle_Unknown.
Definition ParameterTypes.hpp:258
Definition ParameterTypes.hpp:303
ParameterLocator_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:322
rtps::Locator locator
Locator.
Definition ParameterTypes.hpp:307
ParameterLocator_t(ParameterId_t pid, uint16_t in_length, const rtps::Locator &loc)
Constructor using a parameter PID, the parameter length and a Locator.
Definition ParameterTypes.hpp:336
ParameterLocator_t()
Constructor without parameters.
Definition ParameterTypes.hpp:312
fastdds::rtps::NetworkConfigSet_t netconfigSet
Network Config Set By default, 0.
Definition ParameterTypes.hpp:999
ParameterNetworkConfigSet_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:1015
ParameterNetworkConfigSet_t()
Constructor without parameters.
Definition ParameterTypes.hpp:1004
ParameterOriginalWriterInfo_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:1775
fastdds::rtps::OriginalWriterInfo original_writer_info
Original Writer Info By default, unknown.
Definition ParameterTypes.hpp:1759
bool addToCDRMessage(fastdds::rtps::CDRMessage_t *msg) const
Add the parameter to a CDRMessage_t message.
bool readFromCDRMessage(fastdds::rtps::CDRMessage_t *msg, uint16_t size)
Read the parameter from a CDRMessage_t message.
ParameterOriginalWriterInfo_t()
Constructor without parameters.
Definition ParameterTypes.hpp:1764
Definition ParameterTypes.hpp:433
uint32_t port
Port. By default, 0.
Definition ParameterTypes.hpp:437
ParameterPort_t(ParameterId_t pid, uint16_t in_length, uint32_t po)
Constructor using a parameter PID, the parameter length and a port.
Definition ParameterTypes.hpp:468
ParameterPort_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:453
ParameterPort_t()
Constructor without parameters.
Definition ParameterTypes.hpp:442
Definition ParameterTypes.hpp:660
ParameterProductVersion_t()
Constructor without parameters.
Definition ParameterTypes.hpp:668
rtps::ProductVersion_t version
Definition ParameterTypes.hpp:663
ParameterProductVersion_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:678
Definition ParameterTypes.hpp:1031
std::string second() const
Getter for the second element in data.
Definition ParameterTypes.hpp:1077
ParameterProperty_t()
Constructor without parameters.
Definition ParameterTypes.hpp:1045
uint32_t size() const
Getter for data size.
Definition ParameterTypes.hpp:1136
bool modify(const std::pair< std::string, std::string > &new_value)
Setter using a pair of strings.
Definition ParameterTypes.hpp:1092
bool operator==(const ParameterProperty_t &b) const
Definition ParameterTypes.hpp:1146
friend class ParameterPropertyList_t
Definition ParameterTypes.hpp:1033
ParameterProperty_t(void *ptr)
Constructor using a pointer.
Definition ParameterTypes.hpp:1055
std::string first() const
Getter for the first element in data.
Definition ParameterTypes.hpp:1066
std::pair< const std::string, const std::string > pair() const
Getter that returns a pair of the first and second elements in data.
Definition ParameterTypes.hpp:1126
bool operator!=(const ParameterProperty_t &b) const
Definition ParameterTypes.hpp:1153
const fastdds::rtps::octet * address() const
Getter for the pointer.
Definition ParameterTypes.hpp:1426
pointer operator->()
Definition ParameterTypes.hpp:1393
size_t difference_type
Definition ParameterTypes.hpp:1359
self_type operator++()
Definition ParameterTypes.hpp:1374
bool operator==(const self_type &rhs) const
Definition ParameterTypes.hpp:1398
std::forward_iterator_tag iterator_category
Definition ParameterTypes.hpp:1360
bool operator!=(const self_type &rhs) const
Definition ParameterTypes.hpp:1404
reference operator*()
Definition ParameterTypes.hpp:1388
const_iterator self_type
Definition ParameterTypes.hpp:1355
const_iterator(const fastdds::rtps::octet *ptr)
Constructor using a pointer.
Definition ParameterTypes.hpp:1367
void advance()
Shift the pointer to the next value.
Definition ParameterTypes.hpp:1415
const ParameterProperty_t * pointer
Definition ParameterTypes.hpp:1358
const ParameterProperty_t value_type
Definition ParameterTypes.hpp:1356
const ParameterProperty_t & reference
Definition ParameterTypes.hpp:1357
fastdds::rtps::octet * address() const
Getter for the pointer.
Definition ParameterTypes.hpp:1338
ParameterProperty_t value_type
Definition ParameterTypes.hpp:1268
pointer operator->()
Definition ParameterTypes.hpp:1305
size_t difference_type
Definition ParameterTypes.hpp:1271
self_type operator++()
Definition ParameterTypes.hpp:1286
bool operator==(const self_type &rhs) const
Definition ParameterTypes.hpp:1310
std::forward_iterator_tag iterator_category
Definition ParameterTypes.hpp:1272
ParameterProperty_t * pointer
Definition ParameterTypes.hpp:1270
bool operator!=(const self_type &rhs) const
Definition ParameterTypes.hpp:1316
reference operator*()
Definition ParameterTypes.hpp:1300
void advance()
Shift the pointer to the next value.
Definition ParameterTypes.hpp:1327
ParameterProperty_t & reference
Definition ParameterTypes.hpp:1269
iterator(fastdds::rtps::octet *ptr)
Constructor using an octet pointer.
Definition ParameterTypes.hpp:1279
iterator self_type
Definition ParameterTypes.hpp:1267
Definition ParameterTypes.hpp:1251
ParameterPropertyList_t(const ParameterPropertyList_t &parameter_properties)
Constructor using a Parameter Property List.
Definition ParameterTypes.hpp:1487
const_iterator begin() const
Getter for the first position of the ParameterPropertyList.
Definition ParameterTypes.hpp:1537
bool push_back(std::pair< std::string, std::string > p)
Introduce a new property in the ParameterPropertyList.
Definition ParameterTypes.hpp:1558
ParameterPropertyList_t & operator=(const ParameterPropertyList_t &parameter_properties)
Definition ParameterTypes.hpp:1499
void push_back_helper(const fastdds::rtps::octet *data, uint32_t size, uint32_t alignment)
Definition ParameterTypes.hpp:1673
uint32_t max_size()
Getter for the maximum size of the ParameterPropertyList.
Definition ParameterTypes.hpp:1666
ParameterPropertyList_t(uint32_t size)
Constructor with a defined maximum size.
Definition ParameterTypes.hpp:1457
bool set_property(iterator pos, const std::pair< std::string, std::string > &new_value)
Setter of a new property value on a specific position.
Definition ParameterTypes.hpp:1625
uint32_t size() const
Getter for the size of the ParameterPropertyList.
Definition ParameterTypes.hpp:1646
bool push_back(const unsigned char *str1, uint32_t str1_size, const unsigned char *str2, uint32_t str2_size)
Introduce a new property in the ParameterPropertyList.
Definition ParameterTypes.hpp:1592
ParameterPropertyList_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:1472
void set_max_size(uint32_t size)
Setter for the maximum size of the ParameterPropertyList.
Definition ParameterTypes.hpp:1654
bool push_back(const std::string &key, const std::string &value)
Introduce a new property in the ParameterPropertyList.
Definition ParameterTypes.hpp:1571
void clear()
Clears the ParameterPropertyList.
Definition ParameterTypes.hpp:1635
iterator end()
Getter for the end of the ParameterPropertyList.
Definition ParameterTypes.hpp:1527
const_iterator end() const
Getter for the end of the ParameterPropertyList.
Definition ParameterTypes.hpp:1547
iterator begin()
Getter for the first position of the ParameterPropertyList.
Definition ParameterTypes.hpp:1517
ParameterPropertyList_t()
Constructor without parameters Sets PID_PROPERTY_LIST as the PID of the parameter.
Definition ParameterTypes.hpp:1445
ParameterProtocolVersion_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:608
fastdds::rtps::ProtocolVersion_t protocolVersion
Protocol Version. By default, c_ProtocolVersion.
Definition ParameterTypes.hpp:592
ParameterProtocolVersion_t()
Constructor without parameters.
Definition ParameterTypes.hpp:597
Definition ParameterTypes.hpp:1699
ParameterSampleIdentity_t()
Constructor without parameters.
Definition ParameterTypes.hpp:1708
bool addToCDRMessage(fastdds::rtps::CDRMessage_t *msg) const
Add the parameter to a CDRMessage_t message.
bool readFromCDRMessage(fastdds::rtps::CDRMessage_t *msg, uint16_t size)
Read the parameter from a CDRMessage_t message.
ParameterSampleIdentity_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:1719
fastdds::rtps::SampleIdentity sample_id
Sample Identity By default, unknown.
Definition ParameterTypes.hpp:1703
Definition ParameterTypes.hpp:801
ParameterStatusInfo_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:821
ParameterStatusInfo_t(ParameterId_t pid, uint16_t in_length, uint8_t instatus)
Constructor using a parameter PID, the parameter length and status value.
Definition ParameterTypes.hpp:836
ParameterStatusInfo_t()
Constructor without parameter.
Definition ParameterTypes.hpp:810
uint8_t status
Status By default, 0.
Definition ParameterTypes.hpp:805
Definition ParameterTypes.hpp:353
size_t size() const
Getter for the name size.
Definition ParameterTypes.hpp:418
const char * getName() const
Getter for the name.
Definition ParameterTypes.hpp:397
ParameterString_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:369
ParameterString_t(ParameterId_t pid, uint16_t in_length, const fastcdr::string_255 &strin)
Constructor using a parameter PID, the parameter length and a string.
Definition ParameterTypes.hpp:383
void setName(const char *name)
Setter for the name.
Definition ParameterTypes.hpp:407
ParameterString_t()
Constructor without parameters.
Definition ParameterTypes.hpp:359
Definition ParameterTypes.hpp:925
fastdds::rtps::Time_t time
Time By default, 0.
Definition ParameterTypes.hpp:929
ParameterTime_t()
Constructor without parameters.
Definition ParameterTypes.hpp:934
ParameterTime_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:944
Definition ParameterTypes.hpp:624
ParameterVendorId_t()
Constructor without parameters.
Definition ParameterTypes.hpp:633
fastdds::rtps::VendorId_t vendorId
Vendor Id. By default, c_VendorId_eProsima.
Definition ParameterTypes.hpp:628
ParameterVendorId_t(ParameterId_t pid, uint16_t in_length)
Constructor using a parameter PID and the parameter length.
Definition ParameterTypes.hpp:644
Definition OriginalWriterInfo.hpp:31
This class is used to specify a sample.
Definition SampleIdentity.hpp:34
Structure Time_t, used to describe times at RTPS protocol.
Definition Time_t.hpp:38
const std::string parameter_property_participant_type
Parameter property ID for participant type.
Definition ParameterTypes.hpp:1189
const char *const parameter_enable_monitor_service
Parameter property value for enabling the monitor service.
Definition ParameterTypes.hpp:1231
const char *const parameter_policy_type_propagation
Parameter property value for configuring type propagation.
Definition ParameterTypes.hpp:1238
ParameterId_t
Enum for the unique parameter identifier.
Definition ParameterTypes.hpp:70
const std::string parameter_property_persistence_guid
Parameter property ID for persistence GUID.
Definition ParameterTypes.hpp:1182
const std::string parameter_property_ds_version
Parameter property ID for Discovery Server version.
Definition ParameterTypes.hpp:1196
const char *const parameter_policy_physical_data_host
Parameter property value for Host physical data.
Definition ParameterTypes.hpp:1210
const std::string parameter_property_current_ds_version
Parameter property value for Discovery Server version.
Definition ParameterTypes.hpp:1203
const char *const parameter_policy_physical_data_process
Parameter property value for Process physical data.
Definition ParameterTypes.hpp:1224
const char *const parameter_serialize_optional_qos
Parameter property value for configuring serialization of optional QoS in Data(r/w).
Definition ParameterTypes.hpp:1245
const char *const parameter_policy_physical_data_user
Parameter property value for User physical data.
Definition ParameterTypes.hpp:1217
@ PID_TOPIC_NAME
Definition ParameterTypes.hpp:75
@ PID_SENTINEL
Definition ParameterTypes.hpp:73
@ PID_TOPIC_DATA
Definition ParameterTypes.hpp:78
@ PID_GROUP_SEQ_NUM
Definition ParameterTypes.hpp:125
@ PID_PARTICIPANT_MANUAL_LIVELINESS_COUNT
Definition ParameterTypes.hpp:106
@ PID_DURABILITY_SERVICE
Definition ParameterTypes.hpp:80
@ PID_UNICAST_LOCATOR
Definition ParameterTypes.hpp:99
@ PID_LIVELINESS
Definition ParameterTypes.hpp:83
@ PID_OWNERSHIP
Definition ParameterTypes.hpp:89
@ PID_EXPECTS_INLINE_QOS
Definition ParameterTypes.hpp:105
@ PID_COHERENT_SET
Definition ParameterTypes.hpp:121
@ PID_LATENCY_BUDGET
Definition ParameterTypes.hpp:82
@ PID_RESOURCE_LIMITS
Definition ParameterTypes.hpp:88
@ PID_GROUP_GUID
Definition ParameterTypes.hpp:110
@ PID_TYPE_MAX_SIZE_SERIALIZED
Definition ParameterTypes.hpp:115
@ PID_SERVICE_INSTANCE_NAME
Definition ParameterTypes.hpp:164
@ PID_DATASHARING
Definition ParameterTypes.hpp:174
@ PID_PROTOCOL_VERSION
Definition ParameterTypes.hpp:97
@ PID_RPC_MORE_REPLIES
Definition ParameterTypes.hpp:190
@ PID_READER_DATA_LIFECYCLE
Definition ParameterTypes.hpp:184
@ PID_BUILTIN_ENDPOINT_SET
Definition ParameterTypes.hpp:112
@ PID_PAD
Definition ParameterTypes.hpp:72
@ PID_WRITER_GROUP_INFO
Definition ParameterTypes.hpp:126
@ PID_READER_RESOURCE_LIMITS
Definition ParameterTypes.hpp:186
@ PID_PUBLISH_MODE
Definition ParameterTypes.hpp:180
@ PID_RELIABILITY
Definition ParameterTypes.hpp:84
@ PID_VENDORID
Definition ParameterTypes.hpp:98
@ PID_PARTICIPANT_SECURITY_INFO
Definition ParameterTypes.hpp:152
@ PID_CONTENT_FILTER_INFO
Definition ParameterTypes.hpp:120
@ PID_TOPIC_ALIASES
Definition ParameterTypes.hpp:166
@ PID_DURABILITY
Definition ParameterTypes.hpp:79
@ PID_METATRAFFIC_MULTICAST_LOCATOR
Definition ParameterTypes.hpp:104
@ PID_PROPERTY_LIST
Definition ParameterTypes.hpp:114
@ PID_USER_DATA
Definition ParameterTypes.hpp:74
@ PID_DIRECTED_WRITE
Definition ParameterTypes.hpp:122
@ PID_ORIGINAL_WRITER_INFO
Definition ParameterTypes.hpp:123
@ PID_BUILTIN_ENDPOINT_QOS
Definition ParameterTypes.hpp:113
@ PID_DEFAULT_MULTICAST_LOCATOR
Definition ParameterTypes.hpp:102
@ PID_DEADLINE
Definition ParameterTypes.hpp:81
@ PID_RELATED_ENTITY_GUID
Definition ParameterTypes.hpp:165
@ PID_WRITER_DATA_LIFECYCLE
Definition ParameterTypes.hpp:179
@ PID_TYPE_IDV1
Definition ParameterTypes.hpp:143
@ PID_IDENTITY_TOKEN
Definition ParameterTypes.hpp:150
@ PID_PARTICIPANT_GUID
Definition ParameterTypes.hpp:109
@ PID_TYPE_INFORMATION
Definition ParameterTypes.hpp:147
@ PID_SAFE_DDS_SIGNATURE
Definition ParameterTypes.hpp:193
@ PID_IDENTITY_STATUS_TOKEN
Definition ParameterTypes.hpp:158
@ PID_DESTINATION_ORDER
Definition ParameterTypes.hpp:86
@ PID_MULTICAST_LOCATOR
Definition ParameterTypes.hpp:100
@ PID_GROUP_ENTITYID
Definition ParameterTypes.hpp:111
@ PID_KEY_HASH
Definition ParameterTypes.hpp:128
@ PID_PRESENTATION
Definition ParameterTypes.hpp:91
@ PID_RELATED_SAMPLE_IDENTITY
Definition ParameterTypes.hpp:167
@ PID_NETWORK_CONFIGURATION_SET
Definition ParameterTypes.hpp:175
@ PID_LIFESPAN
Definition ParameterTypes.hpp:85
@ PID_DISABLE_POSITIVE_ACKS
Definition ParameterTypes.hpp:173
@ PID_TYPE_CONSISTENCY_ENFORCEMENT
Definition ParameterTypes.hpp:146
@ PID_RTPS_RELIABLE_WRITER
Definition ParameterTypes.hpp:181
@ PID_CUSTOM_RELATED_SAMPLE_IDENTITY
Definition ParameterTypes.hpp:176
@ PID_OWNERSHIP_STRENGTH
Definition ParameterTypes.hpp:90
@ PID_WRITER_RESOURCE_LIMITS
Definition ParameterTypes.hpp:182
@ PID_ENDPOINT_GUID
Definition ParameterTypes.hpp:117
@ PID_PARTITION
Definition ParameterTypes.hpp:92
@ PID_DATA_TAGS
Definition ParameterTypes.hpp:161
@ PID_ENTITY_NAME
Definition ParameterTypes.hpp:116
@ PID_DEFAULT_UNICAST_LOCATOR
Definition ParameterTypes.hpp:101
@ PID_TRANSPORT_PRIORITY
Definition ParameterTypes.hpp:94
@ PID_METATRAFFIC_UNICAST_LOCATOR
Definition ParameterTypes.hpp:103
@ PID_PARTICIPANT_LEASE_DURATION
Definition ParameterTypes.hpp:107
@ PID_CONTENT_FILTER_PROPERTY
Definition ParameterTypes.hpp:108
@ PID_STATUS_INFO
Definition ParameterTypes.hpp:129
@ PID_TIME_BASED_FILTER
Definition ParameterTypes.hpp:93
@ PID_GROUP_COHERENT_SET
Definition ParameterTypes.hpp:124
@ PID_GROUP_DATA
Definition ParameterTypes.hpp:77
@ PID_WIREPROTOCOL_CONFIG
Definition ParameterTypes.hpp:188
@ PID_PRODUCT_VERSION
Definition ParameterTypes.hpp:170
@ PID_ENDPOINT_SECURITY_INFO
Definition ParameterTypes.hpp:155
@ PID_RTPS_RELIABLE_READER
Definition ParameterTypes.hpp:185
@ PID_RTPS_ENDPOINT
Definition ParameterTypes.hpp:177
@ PID_SECURE_WRITER_GROUP_INFO
Definition ParameterTypes.hpp:127
@ PID_HISTORY
Definition ParameterTypes.hpp:87
@ PID_TYPE_OBJECTV1
Definition ParameterTypes.hpp:144
@ PID_DOMAIN_ID
Definition ParameterTypes.hpp:95
@ PID_PERSISTENCE_GUID
Definition ParameterTypes.hpp:171
@ PID_DOMAIN_TAG
Definition ParameterTypes.hpp:96
@ PID_MACHINE_ID
Definition ParameterTypes.hpp:172
@ PID_PERMISSIONS_TOKEN
Definition ParameterTypes.hpp:151
@ PID_DATA_REPRESENTATION
Definition ParameterTypes.hpp:145
@ PID_TYPE_NAME
Definition ParameterTypes.hpp:76
Definition BuiltinTopicKey.hpp:26
const DomainId_t DOMAIN_ID_UNKNOWN
Definition Types.hpp:26
void set_proxy_property(const T &p, const char *PID, PL &properties)
Definition ParameterTypes.hpp:1925
T get_proxy_property(const char *const PID, PL &properties)
Definition ParameterTypes.hpp:1966
Definition EndpointSecurityAttributes.hpp:26
uint32_t PluginEndpointSecurityAttributesMask
Definition EndpointSecurityAttributes.hpp:28
uint32_t EndpointSecurityAttributesMask
Definition EndpointSecurityAttributes.hpp:63
Contains the RTPS protocol implementation.
uint32_t BuiltinEndpointSet_t
Definition Types.hpp:85
fastdds::dds::ParameterNetworkConfigSet_t ParameterNetworkConfigSet_t
Definition ParameterTypes.hpp:2011
fastdds::dds::ParameterProtocolVersion_t ParameterProtocolVersion_t
Definition ParameterTypes.hpp:2001
fastdds::dds::ParameterGuid_t ParameterGuid_t
Definition ParameterTypes.hpp:1999
fastdds::dds::ParameterTime_t ParameterTime_t
Definition ParameterTypes.hpp:2009
fastdds::dds::ParameterIP4Address_t ParameterIP4Address_t
Definition ParameterTypes.hpp:2004
fastdds::dds::ParameterStatusInfo_t ParameterStatusInfo_t
Definition ParameterTypes.hpp:2006
fastdds::dds::ParameterLocator_t ParameterLocator_t
Definition ParameterTypes.hpp:1996
std::array< uint8_t, 2 > VendorId_t
Structure VendorId_t, specifying the vendor Id of the implementation.
Definition VendorId_t.hpp:32
fastdds::dds::ParameterId_t ParameterId_t
Definition ParameterTypes.hpp:1993
fastdds::dds::ParameterDomainId_t ParameterDomainId_t
Definition ParameterTypes.hpp:2000
uint32_t Count_t
Definition Types.hpp:87
fastdds::dds::ParameterBool_t ParameterBool_t
Definition ParameterTypes.hpp:2005
const ProtocolVersion_t c_ProtocolVersion
Definition Types.hpp:161
fastdds::dds::ParameterKey_t ParameterKey_t
Definition ParameterTypes.hpp:1995
uint8_t octet
Definition Types.hpp:83
fastdds::dds::Parameter_t Parameter_t
Definition ParameterTypes.hpp:1994
fastdds::dds::ParameterProductVersion_t ParameterProductVersion_t
Definition ParameterTypes.hpp:2003
void iHandle2GUID(GUID_t &guid, const InstanceHandle_t &ihandle) noexcept
Convert InstanceHandle_t to GUID.
Definition InstanceHandle.hpp:249
fastdds::dds::ParameterPort_t ParameterPort_t
Definition ParameterTypes.hpp:1998
fastdds::dds::ParameterCount_t ParameterCount_t
Definition ParameterTypes.hpp:2007
uint32_t NetworkConfigSet_t
Definition Types.hpp:86
fastdds::dds::ParameterVendorId_t ParameterVendorId_t
Definition ParameterTypes.hpp:2002
fastdds::dds::ParameterString_t ParameterString_t
Definition ParameterTypes.hpp:1997
fastdds::dds::ParameterBuiltinEndpointSet_t ParameterBuiltinEndpointSet_t
Definition ParameterTypes.hpp:2010
eprosima::fastdds::rtps::Locator_t Locator
Definition Locator.hpp:572
fastdds::dds::ParameterEntityId_t ParameterEntityId_t
Definition ParameterTypes.hpp:2008
fastdds::dds::ParameterSampleIdentity_t ParameterSampleIdentity_t
Definition ParameterTypes.hpp:2013
fastdds::dds::ParameterPropertyList_t ParameterPropertyList_t
Definition ParameterTypes.hpp:2012
eProsima namespace.
Structure CDRMessage_t, contains a serialized message.
Definition CDRMessage_t.hpp:51
Structure EntityId_t, entity id part of GUID_t.
Definition EntityId_t.hpp:77
Structure GUID_t, entity identifier, unique in DDS-RTPS Domain.
Definition Guid.hpp:40
Struct InstanceHandle_t, used to contain the key for WITH_KEY topics.
Definition InstanceHandle.hpp:154
Definition ProductVersion_t.hpp:31
Structure ProtocolVersion_t, contains the protocol version.
Definition Types.hpp:102
Structure SerializedPayload_t.
Definition SerializedPayload.hpp:59
uint32_t max_size
Maximum size of the payload.
Definition SerializedPayload.hpp:70
uint32_t length
Actual length of the data.
Definition SerializedPayload.hpp:66