Fast RTPS  Version 2.14.5
Fast RTPS
XMLParser.h
1 // Copyright 2017 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 //
15 #ifndef XML_PARSER_H_
16 #define XML_PARSER_H_
17 
18 #include <cstdint>
19 #include <cstdio>
20 #include <map>
21 #include <memory>
22 #include <string>
23 
24 #include <fastdds/dds/core/policy/QosPolicies.hpp>
25 #include <fastdds/dds/domain/qos/DomainParticipantFactoryQos.hpp>
26 #include <fastdds/rtps/attributes/ThreadSettings.hpp>
27 #include <fastdds/rtps/transport/PortBasedTransportDescriptor.hpp>
28 #include <fastdds/rtps/transport/SocketTransportDescriptor.h>
29 #include <fastrtps/attributes/LibrarySettingsAttributes.h>
30 #include <fastrtps/attributes/ParticipantAttributes.h>
31 #include <fastrtps/attributes/PublisherAttributes.h>
32 #include <fastrtps/attributes/ReplierAttributes.hpp>
33 #include <fastrtps/attributes/RequesterAttributes.hpp>
34 #include <fastrtps/attributes/SubscriberAttributes.h>
35 #include <fastrtps/transport/TransportDescriptorInterface.h>
36 #include <fastrtps/types/DynamicTypeBuilderPtr.h>
37 #include <fastrtps/xmlparser/XMLParserCommon.h>
38 
39 namespace tinyxml2 {
40 class XMLElement;
41 class XMLDocument;
42 } // namespace tinyxml2
43 
44 namespace eprosima {
45 namespace fastrtps {
46 namespace xmlparser {
47 
48 class BaseNode;
49 template <class T> class DataNode;
50 
51 typedef std::unique_ptr<BaseNode> up_base_node_t;
52 typedef std::vector<up_base_node_t> up_base_node_vector_t;
53 typedef std::map<std::string, std::string> node_att_map_t;
54 typedef node_att_map_t::iterator node_att_map_it_t;
55 typedef node_att_map_t::const_iterator node_att_map_cit_t;
56 
57 typedef std::shared_ptr<fastdds::rtps::TransportDescriptorInterface> sp_transport_t;
58 typedef std::map<std::string, sp_transport_t> sp_transport_map_t;
60 typedef std::map<std::string, p_dynamictypebuilder_t> p_dynamictype_map_t;
61 
62 typedef std::unique_ptr<fastdds::dds::DomainParticipantFactoryQos> up_participantfactory_t;
65 typedef std::unique_ptr<node_participantfactory_t> up_node_participantfactory_t;
66 
67 typedef std::unique_ptr<ParticipantAttributes> up_participant_t;
70 typedef std::unique_ptr<node_participant_t> up_node_participant_t;
71 
72 typedef std::unique_ptr<PublisherAttributes> up_publisher_t;
75 typedef std::unique_ptr<node_publisher_t> up_node_publisher_t;
76 
77 typedef std::unique_ptr<SubscriberAttributes> up_subscriber_t;
80 typedef std::unique_ptr<node_subscriber_t> up_node_subscriber_t;
81 
82 typedef std::unique_ptr<TopicAttributes> up_topic_t;
85 typedef std::unique_ptr<node_topic_t> up_node_topic_t;
86 
87 typedef std::unique_ptr<RequesterAttributes> up_requester_t;
90 typedef std::unique_ptr<node_requester_t> up_node_requester_t;
91 
92 typedef std::unique_ptr<ReplierAttributes> up_replier_t;
95 typedef std::unique_ptr<node_replier_t> up_node_replier_t;
96 
102 {
103 
104 public:
105 
106  using FlowControllerDescriptorList = std::vector<std::shared_ptr<fastdds::rtps::FlowControllerDescriptor>>;
107 
112  RTPS_DllAPI static XMLP_ret loadDefaultXMLFile(
113  up_base_node_t& root);
114 
121  RTPS_DllAPI static XMLP_ret loadXML(
122  const std::string& filename,
123  up_base_node_t& root);
124 
133  const std::string& filename,
134  up_base_node_t& root,
135  bool is_default);
136 
144  RTPS_DllAPI static XMLP_ret loadXML(
145  const char* data,
146  size_t length,
147  up_base_node_t& root);
148 
155  RTPS_DllAPI static XMLP_ret loadXML(
156  tinyxml2::XMLDocument& xmlDoc,
157  up_base_node_t& root);
158 
165  RTPS_DllAPI static XMLP_ret loadXMLProfiles(
166  tinyxml2::XMLElement& profiles,
167  up_base_node_t& root);
168 
174  RTPS_DllAPI static XMLP_ret loadXMLDynamicTypes(
175  tinyxml2::XMLElement& types);
176 
177 
183  RTPS_DllAPI static XMLP_ret clear();
184 
185 protected:
186 
187  RTPS_DllAPI static XMLP_ret parseXML(
188  tinyxml2::XMLDocument& xmlDoc,
189  up_base_node_t& root);
190 
191  RTPS_DllAPI static XMLP_ret parseXMLProfiles(
192  tinyxml2::XMLElement& profiles,
193  up_base_node_t& root);
194 
195  RTPS_DllAPI static XMLP_ret parseProfiles(
196  tinyxml2::XMLElement* p_root,
197  BaseNode& profilesNode);
198 
199 
205  RTPS_DllAPI static XMLP_ret parseLogConfig(
206  tinyxml2::XMLElement* p_root);
207 
208  RTPS_DllAPI static XMLP_ret parseXMLLibrarySettings(
209  tinyxml2::XMLElement* p_root);
210 
211  RTPS_DllAPI static XMLP_ret parseXMLTransportsProf(
212  tinyxml2::XMLElement* p_root);
213 
215  tinyxml2::XMLElement* p_root,
216  BaseNode& rootNode);
217 
218  RTPS_DllAPI static XMLP_ret parseXMLParticipantProf(
219  tinyxml2::XMLElement* p_root,
220  BaseNode& rootNode);
221 
222  RTPS_DllAPI static XMLP_ret parseXMLPublisherProf(
223  tinyxml2::XMLElement* p_root,
224  BaseNode& rootNode);
225 
226  RTPS_DllAPI static XMLP_ret parseXMLSubscriberProf(
227  tinyxml2::XMLElement* p_root,
228  BaseNode& rootNode);
229 
230  RTPS_DllAPI static XMLP_ret parseXMLTopicData(
231  tinyxml2::XMLElement* p_root,
232  BaseNode& rootNode);
233 
234  RTPS_DllAPI static XMLP_ret parseXMLRequesterProf(
235  tinyxml2::XMLElement* p_root,
236  BaseNode& rootNode);
237 
238  RTPS_DllAPI static XMLP_ret parseXMLReplierProf(
239  tinyxml2::XMLElement* p_root,
240  BaseNode& rootNode);
241 
242  RTPS_DllAPI static XMLP_ret parseXMLTransportData(
243  tinyxml2::XMLElement* p_root);
244 
246  tinyxml2::XMLElement& p_root);
247 
249  tinyxml2::XMLElement* p_root,
250  sp_transport_t p_transport);
251 
253  tinyxml2::XMLElement* p_root,
254  std::shared_ptr<fastdds::rtps::PortBasedTransportDescriptor> p_transport);
255 
257  tinyxml2::XMLElement* p_root,
258  std::shared_ptr<fastdds::rtps::SocketTransportDescriptor> p_transport);
259 
260  RTPS_DllAPI static XMLP_ret parseXMLInterfaces(
261  tinyxml2::XMLElement* p_root,
262  std::shared_ptr<fastdds::rtps::SocketTransportDescriptor> p_transport);
263 
264  RTPS_DllAPI static XMLP_ret parseXMLAllowlist(
265  tinyxml2::XMLElement* p_root,
266  std::shared_ptr<fastdds::rtps::SocketTransportDescriptor> p_transport);
267 
268  RTPS_DllAPI static XMLP_ret parseXMLBlocklist(
269  tinyxml2::XMLElement* p_root,
270  std::shared_ptr<fastdds::rtps::SocketTransportDescriptor> p_transport);
271 
273  tinyxml2::XMLElement* p_root,
274  sp_transport_t p_transport);
275 
277  tinyxml2::XMLElement* p_root,
278  sp_transport_t p_transport);
279 
280  RTPS_DllAPI static XMLP_ret parse_tls_config(
281  tinyxml2::XMLElement* p_root,
282  sp_transport_t tcp_transport);
283 
284  RTPS_DllAPI static XMLP_ret parseXMLReceptionThreads(
285  tinyxml2::XMLElement& p_root,
286  fastdds::rtps::PortBasedTransportDescriptor::ReceptionThreadsConfigMap& reception_threads);
287 
293  RTPS_DllAPI static XMLP_ret parseXMLConsumer(
294  tinyxml2::XMLElement& consumer);
295 
296  RTPS_DllAPI static XMLP_ret parseXMLDynamicTypes(
297  tinyxml2::XMLElement& types);
298 
299  RTPS_DllAPI static XMLP_ret parseDynamicTypes(
300  tinyxml2::XMLElement* p_root);
301 
302  RTPS_DllAPI static XMLP_ret parseXMLTypes(
303  tinyxml2::XMLElement* p_root);
304 
305  RTPS_DllAPI static XMLP_ret parseXMLDynamicType(
306  tinyxml2::XMLElement* p_root);
307 
309  tinyxml2::XMLElement* p_root);
310 
311  RTPS_DllAPI static XMLP_ret parseXMLUnionDynamicType(
312  tinyxml2::XMLElement* p_root);
313 
314  RTPS_DllAPI static XMLP_ret parseXMLEnumDynamicType(
315  tinyxml2::XMLElement* p_root);
316 
317  RTPS_DllAPI static XMLP_ret parseXMLAliasDynamicType(
318  tinyxml2::XMLElement* p_root);
319 
321  tinyxml2::XMLElement* p_root);
322 
324  tinyxml2::XMLElement* p_root);
325 
327  tinyxml2::XMLElement* p_root,
328  p_dynamictypebuilder_t p_dynamictype,
329  types::MemberId mId,
330  uint16_t& position);
331 
333  tinyxml2::XMLElement* p_root,
334  p_dynamictypebuilder_t p_dynamictype,
335  uint16_t& position);
336 
338  tinyxml2::XMLElement* p_root,
339  p_dynamictypebuilder_t p_dynamictype,
340  types::MemberId mId);
341 
343  tinyxml2::XMLElement* p_root,
344  p_dynamictypebuilder_t p_dynamictype,
345  types::MemberId mId,
346  const std::string& values);
347 
348  RTPS_DllAPI static XMLP_ret fillDataNode(
349  tinyxml2::XMLElement* p_profile,
351 
352  RTPS_DllAPI static XMLP_ret fillDataNode(
353  tinyxml2::XMLElement* p_profile,
354  DataNode<ParticipantAttributes>& participant_node);
355 
356  RTPS_DllAPI static XMLP_ret fillDataNode(
357  tinyxml2::XMLElement* p_profile,
358  DataNode<PublisherAttributes>& publisher_node);
359 
360  RTPS_DllAPI static XMLP_ret fillDataNode(
361  tinyxml2::XMLElement* p_profile,
362  DataNode<SubscriberAttributes>& subscriber_node);
363 
364  RTPS_DllAPI static XMLP_ret fillDataNode(
365  tinyxml2::XMLElement* node,
366  DataNode<TopicAttributes>& topic_node);
367 
368  RTPS_DllAPI static XMLP_ret fillDataNode(
369  tinyxml2::XMLElement* node,
370  DataNode<RequesterAttributes>& requester_node);
371 
372  RTPS_DllAPI static XMLP_ret fillDataNode(
373  tinyxml2::XMLElement* node,
374  DataNode<ReplierAttributes>& replier_node);
375 
376  template <typename T>
377  RTPS_DllAPI static void addAllAttributes(
378  tinyxml2::XMLElement* p_profile,
379  DataNode<T>& node);
380 
381  RTPS_DllAPI static XMLP_ret getXMLEnum(
382  tinyxml2::XMLElement* elem,
384  uint8_t ident);
385 
386  RTPS_DllAPI static XMLP_ret getXMLPropertiesPolicy(
387  tinyxml2::XMLElement* elem,
388  rtps::PropertyPolicy& propertiesPolicy,
389  uint8_t ident);
390 
392  tinyxml2::XMLElement* elem,
393  rtps::MemoryManagementPolicy_t& historyMemoryPolicy,
394  uint8_t ident);
395 
397  tinyxml2::XMLElement* elem,
398  fastdds::rtps::ExternalLocators& external_locators,
399  uint8_t ident);
400 
401  RTPS_DllAPI static XMLP_ret getXMLLocatorList(
402  tinyxml2::XMLElement* elem,
403  rtps::LocatorList_t& locatorList,
404  uint8_t ident);
405 
406  RTPS_DllAPI static XMLP_ret getXMLLocatorUDPv4(
407  tinyxml2::XMLElement* elem,
408  rtps::Locator_t& locator,
409  uint8_t ident);
410 
411  RTPS_DllAPI static XMLP_ret getXMLLocatorUDPv6(
412  tinyxml2::XMLElement* elem,
413  rtps::Locator_t& locator,
414  uint8_t ident);
415 
416  RTPS_DllAPI static XMLP_ret getXMLLocatorTCPv4(
417  tinyxml2::XMLElement* elem,
418  rtps::Locator_t& locator,
419  uint8_t ident);
420 
421  RTPS_DllAPI static XMLP_ret getXMLLocatorTCPv6(
422  tinyxml2::XMLElement* elem,
423  rtps::Locator_t& locator,
424  uint8_t ident);
425 
426  RTPS_DllAPI static XMLP_ret getXMLWriterTimes(
427  tinyxml2::XMLElement* elem,
428  rtps::WriterTimes& times,
429  uint8_t ident);
430 
431  RTPS_DllAPI static XMLP_ret getXMLReaderTimes(
432  tinyxml2::XMLElement* elem,
433  rtps::ReaderTimes& times,
434  uint8_t ident);
435 
436  RTPS_DllAPI static XMLP_ret getXMLDuration(
437  tinyxml2::XMLElement* elem,
438  Duration_t& duration,
439  uint8_t ident);
440 
441  RTPS_DllAPI static XMLP_ret getXMLWriterQosPolicies(
442  tinyxml2::XMLElement* elem,
443  WriterQos& qos,
444  uint8_t ident);
445 
446  RTPS_DllAPI static XMLP_ret getXMLReaderQosPolicies(
447  tinyxml2::XMLElement* elem,
448  ReaderQos& qos,
449  uint8_t ident);
450 
451  RTPS_DllAPI static XMLP_ret getXMLPublishModeQos(
452  tinyxml2::XMLElement* elem,
453  PublishModeQosPolicy& publishMode,
454  uint8_t ident);
455 
456  RTPS_DllAPI static XMLP_ret getXMLGroupDataQos(
457  tinyxml2::XMLElement* elem,
458  GroupDataQosPolicy& groupData,
459  uint8_t ident);
460 
461  RTPS_DllAPI static XMLP_ret getXMLTopicDataQos(
462  tinyxml2::XMLElement* elem,
463  TopicDataQosPolicy& topicData,
464  uint8_t ident);
465 
466  RTPS_DllAPI static XMLP_ret getXMLPartitionQos(
467  tinyxml2::XMLElement* elem,
468  PartitionQosPolicy& partition,
469  uint8_t ident);
470 
471  RTPS_DllAPI static XMLP_ret getXMLPresentationQos(
472  tinyxml2::XMLElement* elem,
473  PresentationQosPolicy& presentation,
474  uint8_t ident);
475 
477  tinyxml2::XMLElement* elem,
478  DestinationOrderQosPolicy& destinationOrder,
479  uint8_t ident);
480 
482  tinyxml2::XMLElement* elem,
483  OwnershipStrengthQosPolicy& ownershipStrength,
484  uint8_t ident);
485 
486  RTPS_DllAPI static XMLP_ret getXMLOwnershipQos(
487  tinyxml2::XMLElement* elem,
488  OwnershipQosPolicy& ownership,
489  uint8_t ident);
490 
491  RTPS_DllAPI static XMLP_ret getXMLTimeBasedFilterQos(
492  tinyxml2::XMLElement* elem,
493  TimeBasedFilterQosPolicy& timeBasedFilter,
494  uint8_t ident);
495 
496  RTPS_DllAPI static XMLP_ret getXMLUserDataQos(
497  tinyxml2::XMLElement* elem,
498  UserDataQosPolicy& userData,
499  uint8_t ident);
500 
501  RTPS_DllAPI static XMLP_ret getXMLLifespanQos(
502  tinyxml2::XMLElement* elem,
503  LifespanQosPolicy& lifespan,
504  uint8_t ident);
505 
506  RTPS_DllAPI static XMLP_ret getXMLReliabilityQos(
507  tinyxml2::XMLElement* elem,
508  ReliabilityQosPolicy& reliability,
509  uint8_t ident);
510 
511  RTPS_DllAPI static XMLP_ret getXMLLivelinessQos(
512  tinyxml2::XMLElement* elem,
513  LivelinessQosPolicy& liveliness,
514  uint8_t ident);
515 
516  RTPS_DllAPI static XMLP_ret getXMLLatencyBudgetQos(
517  tinyxml2::XMLElement* elem,
518  LatencyBudgetQosPolicy& latencyBudget,
519  uint8_t ident);
520 
521  RTPS_DllAPI static XMLP_ret getXMLDeadlineQos(
522  tinyxml2::XMLElement* elem,
523  DeadlineQosPolicy& deadline,
524  uint8_t ident);
525 
527  tinyxml2::XMLElement* elem,
528  DurabilityServiceQosPolicy& durabilityService,
529  uint8_t ident);
530 
531  RTPS_DllAPI static XMLP_ret getXMLDurabilityQos(
532  tinyxml2::XMLElement* elem,
533  DurabilityQosPolicy& durability,
534  uint8_t ident);
535 
536  RTPS_DllAPI static XMLP_ret getXMLTopicAttributes(
537  tinyxml2::XMLElement* elem,
538  TopicAttributes& topic,
539  uint8_t ident);
540 
541  RTPS_DllAPI static XMLP_ret getXMLHistoryQosPolicy(
542  tinyxml2::XMLElement* elem,
543  HistoryQosPolicy& historyQos,
544  uint8_t ident);
545 
546  RTPS_DllAPI static XMLP_ret getXMLResourceLimitsQos(
547  tinyxml2::XMLElement* elem,
548  ResourceLimitsQosPolicy& resourceLimitsQos,
549  uint8_t ident);
550 
552  tinyxml2::XMLElement* elem,
553  ResourceLimitedContainerConfig& resourceLimitsQos,
554  uint8_t ident);
555 
557  tinyxml2::XMLElement* elem,
558  rtps::ThroughputControllerDescriptor& throughputController,
559  uint8_t ident);
560 
562  tinyxml2::XMLElement* elem,
563  FlowControllerDescriptorList& flow_controller_descriptor_list,
564  uint8_t ident);
565 
566  RTPS_DllAPI static XMLP_ret getXMLPortParameters(
567  tinyxml2::XMLElement* elem,
568  rtps::PortParameters& port,
569  uint8_t ident);
570 
572  tinyxml2::XMLElement* elem,
573  rtps::RTPSParticipantAllocationAttributes& allocation,
574  uint8_t ident);
575 
577  tinyxml2::XMLElement* elem,
578  rtps::RemoteLocatorsAllocationAttributes& allocation,
579  uint8_t ident);
580 
582  tinyxml2::XMLElement* elem,
583  rtps::SendBuffersAllocationAttributes& allocation,
584  uint8_t ident);
585 
586  RTPS_DllAPI static XMLP_ret getXMLDiscoverySettings(
587  tinyxml2::XMLElement* elem,
588  rtps::DiscoverySettings& settings,
589  uint8_t ident);
590 
591  RTPS_DllAPI static XMLP_ret getXMLTypeLookupSettings(
592  tinyxml2::XMLElement* elem,
593  rtps::TypeLookupSettings& settings,
594  uint8_t ident);
595 
597  tinyxml2::XMLElement* elem,
598  rtps::InitialAnnouncementConfig& config,
599  uint8_t ident);
600 
601  RTPS_DllAPI static XMLP_ret getXMLBuiltinAttributes(
602  tinyxml2::XMLElement* elem,
603  rtps::BuiltinAttributes& builtin,
604  uint8_t ident);
605 
606  RTPS_DllAPI static XMLP_ret getXMLOctetVector(
607  tinyxml2::XMLElement* elem,
608  std::vector<rtps::octet>& octet_vector,
609  uint8_t ident);
610 
611  RTPS_DllAPI static XMLP_ret getXMLInt(
612  tinyxml2::XMLElement* elem,
613  int* i,
614  uint8_t ident);
615 
616  RTPS_DllAPI static XMLP_ret getXMLUint(
617  tinyxml2::XMLElement* elem,
618  unsigned int* ui,
619  uint8_t ident);
620 
621  RTPS_DllAPI static XMLP_ret getXMLUint(
622  tinyxml2::XMLElement* elem,
623  uint16_t* ui16,
624  uint8_t ident);
625 
626  RTPS_DllAPI static XMLP_ret getXMLUint(
627  tinyxml2::XMLElement* elem,
628  uint64_t* ui64,
629  uint8_t ident);
630 
631  RTPS_DllAPI static XMLP_ret getXMLBool(
632  tinyxml2::XMLElement* elem,
633  bool* b,
634  uint8_t ident);
635 
636  RTPS_DllAPI static XMLP_ret getXMLEnum(
637  tinyxml2::XMLElement* elem,
638  rtps::DiscoveryProtocol_t* e,
639  uint8_t ident);
640 
641  RTPS_DllAPI static XMLP_ret getXMLList(
642  tinyxml2::XMLElement* elem,
643  eprosima::fastdds::rtps::RemoteServerList_t& list,
644  uint8_t ident);
645 
646  RTPS_DllAPI static XMLP_ret getXMLEnum(
647  tinyxml2::XMLElement* elem,
648  rtps::ParticipantFilteringFlags_t* e,
649  uint8_t ident);
650 
651  RTPS_DllAPI static XMLP_ret getXMLRemoteServer(
652  tinyxml2::XMLElement* elem,
653  eprosima::fastdds::rtps::RemoteServerAttributes& server,
654  uint8_t ident);
655 
656  RTPS_DllAPI static XMLP_ret getXMLString(
657  tinyxml2::XMLElement* elem,
658  std::string* s,
659  uint8_t ident);
660 
661  RTPS_DllAPI static XMLP_ret getXMLTransports(
662  tinyxml2::XMLElement* elem,
663  std::vector<std::shared_ptr<fastdds::rtps::TransportDescriptorInterface>>& transports,
664  uint8_t ident);
665 
667  tinyxml2::XMLElement* elem,
668  DisablePositiveACKsQosPolicy& disablePositiveAcks,
669  uint8_t ident);
670 
671  RTPS_DllAPI static XMLP_ret getXMLDataSharingQos(
672  tinyxml2::XMLElement* elem,
673  DataSharingQosPolicy& data_sharing,
674  uint8_t ident);
675 
676  RTPS_DllAPI static XMLP_ret getXMLguidPrefix(
677  tinyxml2::XMLElement* elem,
678  rtps::GuidPrefix_t& prefix,
679  uint8_t ident);
680 
682  tinyxml2::XMLElement& elem,
683  fastdds::dds::DomainParticipantFactoryQos& qos);
684 
686  tinyxml2::XMLElement* elem,
687  PublisherAttributes& publisher,
688  uint8_t ident);
689 
691  tinyxml2::XMLElement* elem,
692  SubscriberAttributes& subscriber,
693  uint8_t ident);
694 
695  RTPS_DllAPI static XMLP_ret getXMLThreadSettings(
696  tinyxml2::XMLElement& elem,
697  fastdds::rtps::ThreadSettings& thread_setting);
698 
699  /*
700  Return XMLP_ret::XML_OK when OK, XMLP_ret::XML_NOK when port attribute is not present, and
701  XMLP_ret::XML_ERROR if error
702  */
704  tinyxml2::XMLElement& elem,
705  fastdds::rtps::ThreadSettings& thread_setting,
706  uint32_t& port);
707 
708  RTPS_DllAPI static XMLP_ret getXMLEntityFactoryQos(
709  tinyxml2::XMLElement& elem,
710  fastdds::dds::EntityFactoryQosPolicy& entity_factory);
711 
712  RTPS_DllAPI static XMLP_ret getXMLBuiltinTransports(
713  tinyxml2::XMLElement* elem,
714  eprosima::fastdds::rtps::BuiltinTransports* bt,
715  eprosima::fastdds::rtps::BuiltinTransportsOptions* bt_opts,
716  uint8_t ident);
717 
718 private:
719 
720  static std::mutex collections_mtx_;
721  static std::set<std::string> flow_controller_descriptor_names_;
722 };
723 
724 } // namespace xmlparser
725 } // namespace fastrtps
726 } // namespace eprosima
727 
728 #endif // ifndef XML_PARSER_H_
Class PublisherAttributes, used by the user to define the attributes of a Publisher.
Definition: PublisherAttributes.h:41
Class SubscriberAttributes, used by the user to define the attributes of a Subscriber.
Definition: SubscriberAttributes.h:39
Class TopicAttributes, used by the user to define the attributes of the topic associated with a Publi...
Definition: TopicAttributes.h:36
Definition: DynamicTypeBuilder.h:32
Class XMLParser, used to load XML data.
Definition: XMLParser.h:102
static RTPS_DllAPI XMLP_ret getXMLSendBuffersAllocationAttributes(tinyxml2::XMLElement *elem, rtps::SendBuffersAllocationAttributes &allocation, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLSubscriberProf(tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret loadXML(const char *data, size_t length, up_base_node_t &root)
Load a XML data from buffer.
static RTPS_DllAPI XMLP_ret fillDataNode(tinyxml2::XMLElement *node, DataNode< TopicAttributes > &topic_node)
static RTPS_DllAPI XMLP_ret loadXML(tinyxml2::XMLDocument &xmlDoc, up_base_node_t &root)
Load a XML node.
static RTPS_DllAPI XMLP_ret getXMLPortParameters(tinyxml2::XMLElement *elem, rtps::PortParameters &port, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLWriterTimes(tinyxml2::XMLElement *elem, rtps::WriterTimes &times, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLCommonTCPTransportData(tinyxml2::XMLElement *p_root, sp_transport_t p_transport)
static RTPS_DllAPI XMLP_ret getXMLEnum(tinyxml2::XMLElement *elem, rtps::ParticipantFilteringFlags_t *e, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLBool(tinyxml2::XMLElement *elem, bool *b, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLPublisherProf(tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret getXMLPresentationQos(tinyxml2::XMLElement *elem, PresentationQosPolicy &presentation, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseLogConfig(tinyxml2::XMLElement *p_root)
Load a XML log node and parses it.
static RTPS_DllAPI XMLP_ret getXMLDomainParticipantFactoryQos(tinyxml2::XMLElement &elem, fastdds::dds::DomainParticipantFactoryQos &qos)
static RTPS_DllAPI XMLP_ret parseXMLTransportsProf(tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret getXMLInitialAnnouncementsConfig(tinyxml2::XMLElement *elem, rtps::InitialAnnouncementConfig &config, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDurabilityQos(tinyxml2::XMLElement *elem, DurabilityQosPolicy &durability, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDiscoverySettings(tinyxml2::XMLElement *elem, rtps::DiscoverySettings &settings, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLLocatorList(tinyxml2::XMLElement *elem, rtps::LocatorList_t &locatorList, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLBitsetDynamicType(tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret getXMLGroupDataQos(tinyxml2::XMLElement *elem, GroupDataQosPolicy &groupData, uint8_t ident)
static XMLP_ret getXMLExternalLocatorList(tinyxml2::XMLElement *elem, fastdds::rtps::ExternalLocators &external_locators, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLInt(tinyxml2::XMLElement *elem, int *i, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDeadlineQos(tinyxml2::XMLElement *elem, DeadlineQosPolicy &deadline, uint8_t ident)
static RTPS_DllAPI p_dynamictypebuilder_t parseXMLMemberDynamicType(tinyxml2::XMLElement *p_root, p_dynamictypebuilder_t p_dynamictype, types::MemberId mId)
static RTPS_DllAPI XMLP_ret clear()
Clears the private static collections.
static RTPS_DllAPI XMLP_ret parseXMLProfiles(tinyxml2::XMLElement &profiles, up_base_node_t &root)
static RTPS_DllAPI XMLP_ret parseXMLUnionDynamicType(tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret validateXMLTransportElements(tinyxml2::XMLElement &p_root)
static RTPS_DllAPI XMLP_ret getXMLUint(tinyxml2::XMLElement *elem, uint64_t *ui64, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLReceptionThreads(tinyxml2::XMLElement &p_root, fastdds::rtps::PortBasedTransportDescriptor::ReceptionThreadsConfigMap &reception_threads)
static RTPS_DllAPI XMLP_ret parseXMLReplierProf(tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret parseXMLParticipantProf(tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret getXMLOctetVector(tinyxml2::XMLElement *elem, std::vector< rtps::octet > &octet_vector, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLEnum(tinyxml2::XMLElement *elem, rtps::DiscoveryProtocol_t *e, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLRemoteLocatorsAllocationAttributes(tinyxml2::XMLElement *elem, rtps::RemoteLocatorsAllocationAttributes &allocation, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLContainerAllocationConfig(tinyxml2::XMLElement *elem, ResourceLimitedContainerConfig &resourceLimitsQos, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLPortBasedTransportData(tinyxml2::XMLElement *p_root, std::shared_ptr< fastdds::rtps::PortBasedTransportDescriptor > p_transport)
static RTPS_DllAPI XMLP_ret parseXMLBitvalueDynamicType(tinyxml2::XMLElement *p_root, p_dynamictypebuilder_t p_dynamictype, uint16_t &position)
static RTPS_DllAPI XMLP_ret getXMLLocatorTCPv6(tinyxml2::XMLElement *elem, rtps::Locator_t &locator, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLEnum(tinyxml2::XMLElement *elem, fastrtps::IntraprocessDeliveryType *e, uint8_t ident)
static RTPS_DllAPI XMLP_ret loadDefaultXMLFile(up_base_node_t &root)
Load the default XML file.
static RTPS_DllAPI XMLP_ret getXMLTopicDataQos(tinyxml2::XMLElement *elem, TopicDataQosPolicy &topicData, uint8_t ident)
static RTPS_DllAPI XMLP_ret loadXMLDynamicTypes(tinyxml2::XMLElement &types)
Load a XML node.
static RTPS_DllAPI XMLP_ret parseXMLBlocklist(tinyxml2::XMLElement *p_root, std::shared_ptr< fastdds::rtps::SocketTransportDescriptor > p_transport)
static RTPS_DllAPI XMLP_ret getXMLPartitionQos(tinyxml2::XMLElement *elem, PartitionQosPolicy &partition, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLTypes(tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret getXMLThreadSettingsWithPort(tinyxml2::XMLElement &elem, fastdds::rtps::ThreadSettings &thread_setting, uint32_t &port)
static RTPS_DllAPI XMLP_ret getXMLLocatorTCPv4(tinyxml2::XMLElement *elem, rtps::Locator_t &locator, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLLocatorUDPv4(tinyxml2::XMLElement *elem, rtps::Locator_t &locator, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDuration(tinyxml2::XMLElement *elem, Duration_t &duration, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLThroughputController(tinyxml2::XMLElement *elem, rtps::ThroughputControllerDescriptor &throughputController, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLAllowlist(tinyxml2::XMLElement *p_root, std::shared_ptr< fastdds::rtps::SocketTransportDescriptor > p_transport)
static RTPS_DllAPI XMLP_ret getXMLLocatorUDPv6(tinyxml2::XMLElement *elem, rtps::Locator_t &locator, uint8_t ident)
static RTPS_DllAPI XMLP_ret fillDataNode(tinyxml2::XMLElement *p_profile, DataNode< PublisherAttributes > &publisher_node)
static RTPS_DllAPI XMLP_ret parse_tls_config(tinyxml2::XMLElement *p_root, sp_transport_t tcp_transport)
static RTPS_DllAPI XMLP_ret getXMLUserDataQos(tinyxml2::XMLElement *elem, UserDataQosPolicy &userData, uint8_t ident)
static RTPS_DllAPI void addAllAttributes(tinyxml2::XMLElement *p_profile, DataNode< T > &node)
static RTPS_DllAPI XMLP_ret fillDataNode(tinyxml2::XMLElement *node, DataNode< RequesterAttributes > &requester_node)
static RTPS_DllAPI XMLP_ret fillDataNode(tinyxml2::XMLElement *p_profile, DataNode< SubscriberAttributes > &subscriber_node)
static RTPS_DllAPI XMLP_ret parseXMLEnumDynamicType(tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret getXMLDurabilityServiceQos(tinyxml2::XMLElement *elem, DurabilityServiceQosPolicy &durabilityService, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLSubscriberAttributes(tinyxml2::XMLElement *elem, SubscriberAttributes &subscriber, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLPublishModeQos(tinyxml2::XMLElement *elem, PublishModeQosPolicy &publishMode, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLStructDynamicType(tinyxml2::XMLElement *p_root)
static XMLP_ret loadXML(const std::string &filename, up_base_node_t &root, bool is_default)
Load a XML file.
static RTPS_DllAPI XMLP_ret getXMLTopicAttributes(tinyxml2::XMLElement *elem, TopicAttributes &topic, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLCommonTransportData(tinyxml2::XMLElement *p_root, sp_transport_t p_transport)
static RTPS_DllAPI XMLP_ret getXMLTypeLookupSettings(tinyxml2::XMLElement *elem, rtps::TypeLookupSettings &settings, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDisablePositiveAcksQos(tinyxml2::XMLElement *elem, DisablePositiveACKsQosPolicy &disablePositiveAcks, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseProfiles(tinyxml2::XMLElement *p_root, BaseNode &profilesNode)
static RTPS_DllAPI XMLP_ret parseXMLTransportData(tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret getXMLBuiltinAttributes(tinyxml2::XMLElement *elem, rtps::BuiltinAttributes &builtin, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLEntityFactoryQos(tinyxml2::XMLElement &elem, fastdds::dds::EntityFactoryQosPolicy &entity_factory)
static RTPS_DllAPI XMLP_ret getXMLLifespanQos(tinyxml2::XMLElement *elem, LifespanQosPolicy &lifespan, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLDomainParticipantFactoryProf(tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret getXMLBuiltinTransports(tinyxml2::XMLElement *elem, eprosima::fastdds::rtps::BuiltinTransports *bt, eprosima::fastdds::rtps::BuiltinTransportsOptions *bt_opts, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLUint(tinyxml2::XMLElement *elem, uint16_t *ui16, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXML(tinyxml2::XMLDocument &xmlDoc, up_base_node_t &root)
static RTPS_DllAPI XMLP_ret parseXMLDynamicType(tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret getXMLLivelinessQos(tinyxml2::XMLElement *elem, LivelinessQosPolicy &liveliness, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLHistoryMemoryPolicy(tinyxml2::XMLElement *elem, rtps::MemoryManagementPolicy_t &historyMemoryPolicy, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLWriterQosPolicies(tinyxml2::XMLElement *elem, WriterQos &qos, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLPublisherAttributes(tinyxml2::XMLElement *elem, PublisherAttributes &publisher, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLPropertiesPolicy(tinyxml2::XMLElement *elem, rtps::PropertyPolicy &propertiesPolicy, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLHistoryQosPolicy(tinyxml2::XMLElement *elem, HistoryQosPolicy &historyQos, uint8_t ident)
static RTPS_DllAPI XMLP_ret fillDataNode(tinyxml2::XMLElement *node, DataNode< ReplierAttributes > &replier_node)
static RTPS_DllAPI XMLP_ret getXMLDestinationOrderQos(tinyxml2::XMLElement *elem, DestinationOrderQosPolicy &destinationOrder, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLAliasDynamicType(tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret getXMLFlowControllerDescriptorList(tinyxml2::XMLElement *elem, FlowControllerDescriptorList &flow_controller_descriptor_list, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDataSharingQos(tinyxml2::XMLElement *elem, DataSharingQosPolicy &data_sharing, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLString(tinyxml2::XMLElement *elem, std::string *s, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLOwnershipQos(tinyxml2::XMLElement *elem, OwnershipQosPolicy &ownership, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLRequesterProf(tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret getXMLTimeBasedFilterQos(tinyxml2::XMLElement *elem, TimeBasedFilterQosPolicy &timeBasedFilter, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLReaderQosPolicies(tinyxml2::XMLElement *elem, ReaderQos &qos, uint8_t ident)
static RTPS_DllAPI p_dynamictypebuilder_t parseXMLBitfieldDynamicType(tinyxml2::XMLElement *p_root, p_dynamictypebuilder_t p_dynamictype, types::MemberId mId, uint16_t &position)
static RTPS_DllAPI XMLP_ret getXMLReliabilityQos(tinyxml2::XMLElement *elem, ReliabilityQosPolicy &reliability, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLLatencyBudgetQos(tinyxml2::XMLElement *elem, LatencyBudgetQosPolicy &latencyBudget, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLList(tinyxml2::XMLElement *elem, eprosima::fastdds::rtps::RemoteServerList_t &list, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLResourceLimitsQos(tinyxml2::XMLElement *elem, ResourceLimitsQosPolicy &resourceLimitsQos, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLBitmaskDynamicType(tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret parseXMLSocketTransportData(tinyxml2::XMLElement *p_root, std::shared_ptr< fastdds::rtps::SocketTransportDescriptor > p_transport)
static RTPS_DllAPI XMLP_ret parseXMLTopicData(tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret parseXMLInterfaces(tinyxml2::XMLElement *p_root, std::shared_ptr< fastdds::rtps::SocketTransportDescriptor > p_transport)
static RTPS_DllAPI XMLP_ret getXMLThreadSettings(tinyxml2::XMLElement &elem, fastdds::rtps::ThreadSettings &thread_setting)
static RTPS_DllAPI XMLP_ret parseDynamicTypes(tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret getXMLReaderTimes(tinyxml2::XMLElement *elem, rtps::ReaderTimes &times, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLguidPrefix(tinyxml2::XMLElement *elem, rtps::GuidPrefix_t &prefix, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLConsumer(tinyxml2::XMLElement &consumer)
Load a XML consumer node and parses it.
static RTPS_DllAPI p_dynamictypebuilder_t parseXMLMemberDynamicType(tinyxml2::XMLElement *p_root, p_dynamictypebuilder_t p_dynamictype, types::MemberId mId, const std::string &values)
static RTPS_DllAPI XMLP_ret getXMLParticipantAllocationAttributes(tinyxml2::XMLElement *elem, rtps::RTPSParticipantAllocationAttributes &allocation, uint8_t ident)
static RTPS_DllAPI XMLP_ret parseXMLLibrarySettings(tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret parseXMLDynamicTypes(tinyxml2::XMLElement &types)
static RTPS_DllAPI XMLP_ret fillDataNode(tinyxml2::XMLElement *p_profile, DataNode< ParticipantAttributes > &participant_node)
static RTPS_DllAPI XMLP_ret getXMLOwnershipStrengthQos(tinyxml2::XMLElement *elem, OwnershipStrengthQosPolicy &ownershipStrength, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLUint(tinyxml2::XMLElement *elem, unsigned int *ui, uint8_t ident)
static RTPS_DllAPI XMLP_ret fillDataNode(tinyxml2::XMLElement *p_profile, DataNode< fastdds::dds::DomainParticipantFactoryQos > &factory_node)
static RTPS_DllAPI XMLP_ret loadXML(const std::string &filename, up_base_node_t &root)
Load a XML file.
static RTPS_DllAPI XMLP_ret parseXMLCommonSharedMemTransportData(tinyxml2::XMLElement *p_root, sp_transport_t p_transport)
static RTPS_DllAPI XMLP_ret getXMLTransports(tinyxml2::XMLElement *elem, std::vector< std::shared_ptr< fastdds::rtps::TransportDescriptorInterface >> &transports, uint8_t ident)
static RTPS_DllAPI XMLP_ret loadXMLProfiles(tinyxml2::XMLElement &profiles, up_base_node_t &root)
Load a XML node.
std::vector< std::shared_ptr< fastdds::rtps::FlowControllerDescriptor > > FlowControllerDescriptorList
Definition: XMLParser.h:106
static RTPS_DllAPI XMLP_ret getXMLRemoteServer(tinyxml2::XMLElement *elem, eprosima::fastdds::rtps::RemoteServerAttributes &server, uint8_t ident)
XMLP_ret
Enum class XMLP_ret, used to provide a strongly typed result from the operations within this module.
Definition: XMLParserCommon.h:27
uint32_t MemberId
Definition: TypesBase.h:285
std::unique_ptr< node_publisher_t > up_node_publisher_t
Definition: XMLParser.h:75
std::unique_ptr< node_subscriber_t > up_node_subscriber_t
Definition: XMLParser.h:80
std::map< std::string, std::string > node_att_map_t
Definition: XMLParser.h:53
DataNode< ReplierAttributes > node_replier_t
Definition: XMLParser.h:93
DataNode< SubscriberAttributes > node_subscriber_t
Definition: XMLParser.h:78
std::unique_ptr< ReplierAttributes > up_replier_t
Definition: XMLParser.h:92
std::unique_ptr< SubscriberAttributes > up_subscriber_t
Definition: XMLParser.h:77
node_publisher_t * p_node_publisher_t
Definition: XMLParser.h:74
DataNode< TopicAttributes > node_topic_t
Definition: XMLParser.h:83
std::map< std::string, sp_transport_t > sp_transport_map_t
Definition: XMLParser.h:58
node_subscriber_t * p_node_subscriber_t
Definition: XMLParser.h:79
std::shared_ptr< fastdds::rtps::TransportDescriptorInterface > sp_transport_t
Definition: XMLParser.h:57
types::DynamicTypeBuilder * p_dynamictypebuilder_t
Definition: XMLParser.h:59
std::unique_ptr< node_participantfactory_t > up_node_participantfactory_t
Definition: XMLParser.h:65
std::unique_ptr< node_topic_t > up_node_topic_t
Definition: XMLParser.h:85
DataNode< PublisherAttributes > node_publisher_t
Definition: XMLParser.h:73
node_replier_t * p_node_replier_t
Definition: XMLParser.h:94
std::unique_ptr< ParticipantAttributes > up_participant_t
Definition: XMLParser.h:67
node_att_map_t::const_iterator node_att_map_cit_t
Definition: XMLParser.h:55
std::unique_ptr< TopicAttributes > up_topic_t
Definition: XMLParser.h:82
DataNode< RequesterAttributes > node_requester_t
Definition: XMLParser.h:88
DataNode< ParticipantAttributes > node_participant_t
Definition: XMLParser.h:68
std::map< std::string, p_dynamictypebuilder_t > p_dynamictype_map_t
Definition: XMLParser.h:60
std::unique_ptr< node_requester_t > up_node_requester_t
Definition: XMLParser.h:90
node_att_map_t::iterator node_att_map_it_t
Definition: XMLParser.h:54
std::unique_ptr< RequesterAttributes > up_requester_t
Definition: XMLParser.h:87
std::unique_ptr< BaseNode > up_base_node_t
Definition: XMLParser.h:49
std::unique_ptr< node_participant_t > up_node_participant_t
Definition: XMLParser.h:70
node_participantfactory_t * p_node_participantfactory_t
Definition: XMLParser.h:64
std::unique_ptr< fastdds::dds::DomainParticipantFactoryQos > up_participantfactory_t
Definition: XMLParser.h:62
node_topic_t * p_node_topic_t
Definition: XMLParser.h:84
std::vector< up_base_node_t > up_base_node_vector_t
Definition: XMLParser.h:52
node_participant_t * p_node_participant_t
Definition: XMLParser.h:69
node_requester_t * p_node_requester_t
Definition: XMLParser.h:89
DataNode< fastdds::dds::DomainParticipantFactoryQos > node_participantfactory_t
Definition: XMLParser.h:63
std::unique_ptr< PublisherAttributes > up_publisher_t
Definition: XMLParser.h:72
std::unique_ptr< node_replier_t > up_node_replier_t
Definition: XMLParser.h:95
fastdds::dds::DataSharingQosPolicy DataSharingQosPolicy
Definition: QosPolicies.h:97
IntraprocessDeliveryType
Definition: LibrarySettingsAttributes.h:27
fastdds::dds::PresentationQosPolicy PresentationQosPolicy
Definition: QosPolicies.h:72
fastdds::dds::LatencyBudgetQosPolicy LatencyBudgetQosPolicy
Definition: QosPolicies.h:42
fastdds::dds::UserDataQosPolicy UserDataQosPolicy
Definition: QosPolicies.h:74
fastdds::dds::LifespanQosPolicy LifespanQosPolicy
Definition: QosPolicies.h:83
fastdds::dds::ReaderQos ReaderQos
Definition: ReaderQos.h:30
fastdds::dds::DisablePositiveACKsQosPolicy DisablePositiveACKsQosPolicy
Definition: QosPolicies.h:96
fastdds::dds::DurabilityServiceQosPolicy DurabilityServiceQosPolicy
Definition: QosPolicies.h:82
fastdds::dds::OwnershipQosPolicy OwnershipQosPolicy
Definition: QosPolicies.h:57
fastdds::dds::PublishModeQosPolicy PublishModeQosPolicy
Definition: QosPolicies.h:89
fastdds::dds::LivelinessQosPolicy LivelinessQosPolicy
Definition: QosPolicies.h:49
fastdds::dds::OwnershipStrengthQosPolicy OwnershipStrengthQosPolicy
Definition: QosPolicies.h:84
fastdds::dds::TopicDataQosPolicy TopicDataQosPolicy
Definition: QosPolicies.h:75
fastdds::dds::GroupDataQosPolicy GroupDataQosPolicy
Definition: QosPolicies.h:76
fastdds::dds::TimeBasedFilterQosPolicy TimeBasedFilterQosPolicy
Definition: QosPolicies.h:64
fastdds::dds::DeadlineQosPolicy DeadlineQosPolicy
Definition: QosPolicies.h:41
fastdds::dds::WriterQos WriterQos
Definition: WriterQos.h:30
fastdds::dds::DestinationOrderQosPolicy DestinationOrderQosPolicy
Definition: QosPolicies.h:63
fastdds::dds::PartitionQosPolicy PartitionQosPolicy
Definition: QosPolicies.h:73
fastdds::dds::ResourceLimitsQosPolicy ResourceLimitsQosPolicy
Definition: QosPolicies.h:81
fastdds::dds::DurabilityQosPolicy DurabilityQosPolicy
Definition: QosPolicies.h:40
fastdds::dds::ReliabilityQosPolicy ReliabilityQosPolicy
Definition: QosPolicies.h:53
fastdds::dds::HistoryQosPolicy HistoryQosPolicy
Definition: QosPolicies.h:80
eProsima namespace.
Definition: LibrarySettingsAttributes.h:23
Definition: XMLEndpointParser.h:36
Specifies the configuration of a resource limited collection.
Definition: ResourceLimitedContainerConfig.hpp:36