19 #include <fastrtps/transport/TransportDescriptorInterface.h> 20 #include <fastrtps/attributes/ParticipantAttributes.h> 21 #include <fastrtps/attributes/PublisherAttributes.h> 22 #include <fastrtps/attributes/SubscriberAttributes.h> 23 #include <fastrtps/attributes/RequesterAttributes.hpp> 24 #include <fastrtps/attributes/ReplierAttributes.hpp> 25 #include <fastrtps/xmlparser/XMLParserCommon.h> 26 #include <fastrtps/types/DynamicTypeBuilderPtr.h> 27 #include <fastrtps/attributes/LibrarySettingsAttributes.h> 50 typedef std::shared_ptr<fastdds::rtps::TransportDescriptorInterface>
sp_transport_t;
97 RTPS_DllAPI
static XMLP_ret loadDefaultXMLFile(
98 up_base_node_t& root);
106 RTPS_DllAPI
static XMLP_ret loadXML(
107 const std::string& filename,
108 up_base_node_t& root);
117 RTPS_DllAPI
static XMLP_ret loadXML(
120 up_base_node_t& root);
128 RTPS_DllAPI
static XMLP_ret loadXML(
129 tinyxml2::XMLDocument& xmlDoc,
130 up_base_node_t& root);
138 RTPS_DllAPI
static XMLP_ret loadXMLProfiles(
139 tinyxml2::XMLElement& profiles,
140 up_base_node_t& root);
147 RTPS_DllAPI
static XMLP_ret loadXMLDynamicTypes(
148 tinyxml2::XMLElement& types);
152 RTPS_DllAPI
static XMLP_ret parseXML(
153 tinyxml2::XMLDocument& xmlDoc,
154 up_base_node_t& root);
156 RTPS_DllAPI
static XMLP_ret parseXMLProfiles(
157 tinyxml2::XMLElement& profiles,
158 up_base_node_t& root);
160 RTPS_DllAPI
static XMLP_ret parseProfiles(
161 tinyxml2::XMLElement* p_root,
170 RTPS_DllAPI
static XMLP_ret parseLogConfig(
171 tinyxml2::XMLElement* p_root);
173 RTPS_DllAPI
static XMLP_ret parseXMLLibrarySettings(
174 tinyxml2::XMLElement* p_root);
176 RTPS_DllAPI
static XMLP_ret parseXMLTransportsProf(
177 tinyxml2::XMLElement* p_root);
179 RTPS_DllAPI
static XMLP_ret parseXMLParticipantProf(
180 tinyxml2::XMLElement* p_root,
183 RTPS_DllAPI
static XMLP_ret parseXMLPublisherProf(
184 tinyxml2::XMLElement* p_root,
187 RTPS_DllAPI
static XMLP_ret parseXMLSubscriberProf(
188 tinyxml2::XMLElement* p_root,
191 RTPS_DllAPI
static XMLP_ret parseXMLTopicData(
192 tinyxml2::XMLElement* p_root,
195 RTPS_DllAPI
static XMLP_ret parseXMLRequesterProf(
196 tinyxml2::XMLElement* p_root,
199 RTPS_DllAPI
static XMLP_ret parseXMLReplierProf(
200 tinyxml2::XMLElement* p_root,
203 RTPS_DllAPI
static XMLP_ret parseXMLTransportData(
204 tinyxml2::XMLElement* p_root);
206 RTPS_DllAPI
static XMLP_ret parseXMLCommonTransportData(
207 tinyxml2::XMLElement* p_root,
208 sp_transport_t p_transport);
210 RTPS_DllAPI
static XMLP_ret parseXMLCommonTCPTransportData(
211 tinyxml2::XMLElement* p_root,
212 sp_transport_t p_transport);
214 RTPS_DllAPI
static XMLP_ret parseXMLCommonSharedMemTransportData(
215 tinyxml2::XMLElement* p_root,
216 sp_transport_t p_transport);
218 RTPS_DllAPI
static XMLP_ret parse_tls_config(
219 tinyxml2::XMLElement* p_root,
220 sp_transport_t tcp_transport);
227 RTPS_DllAPI
static XMLP_ret parseXMLConsumer(
228 tinyxml2::XMLElement& consumer);
230 RTPS_DllAPI
static XMLP_ret parseXMLDynamicTypes(
231 tinyxml2::XMLElement& types);
233 RTPS_DllAPI
static XMLP_ret parseDynamicTypes(
234 tinyxml2::XMLElement* p_root);
236 RTPS_DllAPI
static XMLP_ret parseXMLTypes(
237 tinyxml2::XMLElement* p_root);
239 RTPS_DllAPI
static XMLP_ret parseXMLDynamicType(
240 tinyxml2::XMLElement* p_root);
242 RTPS_DllAPI
static XMLP_ret parseXMLStructDynamicType(
243 tinyxml2::XMLElement* p_root);
245 RTPS_DllAPI
static XMLP_ret parseXMLUnionDynamicType(
246 tinyxml2::XMLElement* p_root);
248 RTPS_DllAPI
static XMLP_ret parseXMLEnumDynamicType(
249 tinyxml2::XMLElement* p_root);
251 RTPS_DllAPI
static XMLP_ret parseXMLAliasDynamicType(
252 tinyxml2::XMLElement* p_root);
254 RTPS_DllAPI
static XMLP_ret parseXMLBitsetDynamicType(
255 tinyxml2::XMLElement* p_root);
257 RTPS_DllAPI
static XMLP_ret parseXMLBitmaskDynamicType(
258 tinyxml2::XMLElement* p_root);
260 RTPS_DllAPI
static p_dynamictypebuilder_t parseXMLBitfieldDynamicType(
261 tinyxml2::XMLElement* p_root,
262 p_dynamictypebuilder_t p_dynamictype,
266 RTPS_DllAPI
static XMLP_ret parseXMLBitvalueDynamicType(
267 tinyxml2::XMLElement* p_root,
268 p_dynamictypebuilder_t p_dynamictype,
271 RTPS_DllAPI
static p_dynamictypebuilder_t parseXMLMemberDynamicType(
272 tinyxml2::XMLElement* p_root,
273 p_dynamictypebuilder_t p_dynamictype,
276 RTPS_DllAPI
static p_dynamictypebuilder_t parseXMLMemberDynamicType(
277 tinyxml2::XMLElement* p_root,
278 p_dynamictypebuilder_t p_dynamictype,
280 const std::string& values);
282 RTPS_DllAPI
static XMLP_ret fillDataNode(
283 tinyxml2::XMLElement* p_profile,
286 RTPS_DllAPI
static XMLP_ret fillDataNode(
287 tinyxml2::XMLElement* p_profile,
290 RTPS_DllAPI
static XMLP_ret fillDataNode(
291 tinyxml2::XMLElement* p_profile,
294 RTPS_DllAPI
static XMLP_ret fillDataNode(
295 tinyxml2::XMLElement* node,
298 RTPS_DllAPI
static XMLP_ret fillDataNode(
299 tinyxml2::XMLElement* node,
302 RTPS_DllAPI
static XMLP_ret fillDataNode(
303 tinyxml2::XMLElement* node,
306 template <
typename T>
307 RTPS_DllAPI
static void addAllAttributes(
308 tinyxml2::XMLElement* p_profile,
311 RTPS_DllAPI
static XMLP_ret getXMLEnum(
312 tinyxml2::XMLElement* elem,
316 RTPS_DllAPI
static XMLP_ret getXMLPropertiesPolicy(
317 tinyxml2::XMLElement* elem,
318 rtps::PropertyPolicy& propertiesPolicy,
321 RTPS_DllAPI
static XMLP_ret getXMLHistoryMemoryPolicy(
322 tinyxml2::XMLElement* elem,
323 rtps::MemoryManagementPolicy_t& historyMemoryPolicy,
326 static XMLP_ret getXMLExternalLocatorList(
327 tinyxml2::XMLElement* elem,
328 fastdds::rtps::ExternalLocators& external_locators,
331 RTPS_DllAPI
static XMLP_ret getXMLLocatorList(
332 tinyxml2::XMLElement* elem,
333 rtps::LocatorList_t& locatorList,
336 RTPS_DllAPI
static XMLP_ret getXMLLocatorUDPv4(
337 tinyxml2::XMLElement* elem,
338 rtps::Locator_t& locator,
341 RTPS_DllAPI
static XMLP_ret getXMLLocatorUDPv6(
342 tinyxml2::XMLElement* elem,
343 rtps::Locator_t& locator,
346 RTPS_DllAPI
static XMLP_ret getXMLLocatorTCPv4(
347 tinyxml2::XMLElement* elem,
348 rtps::Locator_t& locator,
351 RTPS_DllAPI
static XMLP_ret getXMLLocatorTCPv6(
352 tinyxml2::XMLElement* elem,
353 rtps::Locator_t& locator,
356 RTPS_DllAPI
static XMLP_ret getXMLWriterTimes(
357 tinyxml2::XMLElement* elem,
358 rtps::WriterTimes& times,
361 RTPS_DllAPI
static XMLP_ret getXMLReaderTimes(
362 tinyxml2::XMLElement* elem,
363 rtps::ReaderTimes& times,
366 RTPS_DllAPI
static XMLP_ret getXMLDuration(
367 tinyxml2::XMLElement* elem,
368 Duration_t& duration,
371 RTPS_DllAPI
static XMLP_ret getXMLWriterQosPolicies(
372 tinyxml2::XMLElement* elem,
376 RTPS_DllAPI
static XMLP_ret getXMLReaderQosPolicies(
377 tinyxml2::XMLElement* elem,
381 RTPS_DllAPI
static XMLP_ret getXMLPublishModeQos(
382 tinyxml2::XMLElement* elem,
386 RTPS_DllAPI
static XMLP_ret getXMLGroupDataQos(
387 tinyxml2::XMLElement* elem,
391 RTPS_DllAPI
static XMLP_ret getXMLTopicDataQos(
392 tinyxml2::XMLElement* elem,
396 RTPS_DllAPI
static XMLP_ret getXMLPartitionQos(
397 tinyxml2::XMLElement* elem,
401 RTPS_DllAPI
static XMLP_ret getXMLPresentationQos(
402 tinyxml2::XMLElement* elem,
406 RTPS_DllAPI
static XMLP_ret getXMLDestinationOrderQos(
407 tinyxml2::XMLElement* elem,
411 RTPS_DllAPI
static XMLP_ret getXMLOwnershipStrengthQos(
412 tinyxml2::XMLElement* elem,
416 RTPS_DllAPI
static XMLP_ret getXMLOwnershipQos(
417 tinyxml2::XMLElement* elem,
421 RTPS_DllAPI
static XMLP_ret getXMLTimeBasedFilterQos(
422 tinyxml2::XMLElement* elem,
426 RTPS_DllAPI
static XMLP_ret getXMLUserDataQos(
427 tinyxml2::XMLElement* elem,
431 RTPS_DllAPI
static XMLP_ret getXMLLifespanQos(
432 tinyxml2::XMLElement* elem,
436 RTPS_DllAPI
static XMLP_ret getXMLReliabilityQos(
437 tinyxml2::XMLElement* elem,
441 RTPS_DllAPI
static XMLP_ret getXMLLivelinessQos(
442 tinyxml2::XMLElement* elem,
446 RTPS_DllAPI
static XMLP_ret getXMLLatencyBudgetQos(
447 tinyxml2::XMLElement* elem,
451 RTPS_DllAPI
static XMLP_ret getXMLDeadlineQos(
452 tinyxml2::XMLElement* elem,
456 RTPS_DllAPI
static XMLP_ret getXMLDurabilityServiceQos(
457 tinyxml2::XMLElement* elem,
461 RTPS_DllAPI
static XMLP_ret getXMLDurabilityQos(
462 tinyxml2::XMLElement* elem,
466 RTPS_DllAPI
static XMLP_ret getXMLTopicAttributes(
467 tinyxml2::XMLElement* elem,
471 RTPS_DllAPI
static XMLP_ret getXMLHistoryQosPolicy(
472 tinyxml2::XMLElement* elem,
476 RTPS_DllAPI
static XMLP_ret getXMLResourceLimitsQos(
477 tinyxml2::XMLElement* elem,
481 RTPS_DllAPI
static XMLP_ret getXMLContainerAllocationConfig(
482 tinyxml2::XMLElement* elem,
486 RTPS_DllAPI
static XMLP_ret getXMLThroughputController(
487 tinyxml2::XMLElement* elem,
488 rtps::ThroughputControllerDescriptor& throughputController,
491 RTPS_DllAPI
static XMLP_ret getXMLPortParameters(
492 tinyxml2::XMLElement* elem,
493 rtps::PortParameters& port,
496 RTPS_DllAPI
static XMLP_ret getXMLParticipantAllocationAttributes(
497 tinyxml2::XMLElement* elem,
498 rtps::RTPSParticipantAllocationAttributes& allocation,
501 RTPS_DllAPI
static XMLP_ret getXMLRemoteLocatorsAllocationAttributes(
502 tinyxml2::XMLElement* elem,
503 rtps::RemoteLocatorsAllocationAttributes& allocation,
506 RTPS_DllAPI
static XMLP_ret getXMLSendBuffersAllocationAttributes(
507 tinyxml2::XMLElement* elem,
508 rtps::SendBuffersAllocationAttributes& allocation,
511 RTPS_DllAPI
static XMLP_ret getXMLDiscoverySettings(
512 tinyxml2::XMLElement* elem,
513 rtps::DiscoverySettings& settings,
516 RTPS_DllAPI
static XMLP_ret getXMLTypeLookupSettings(
517 tinyxml2::XMLElement* elem,
518 rtps::TypeLookupSettings& settings,
521 RTPS_DllAPI
static XMLP_ret getXMLInitialAnnouncementsConfig(
522 tinyxml2::XMLElement* elem,
523 rtps::InitialAnnouncementConfig& config,
526 RTPS_DllAPI
static XMLP_ret getXMLBuiltinAttributes(
527 tinyxml2::XMLElement* elem,
528 rtps::BuiltinAttributes& builtin,
531 RTPS_DllAPI
static XMLP_ret getXMLOctetVector(
532 tinyxml2::XMLElement* elem,
533 std::vector<rtps::octet>& octet_vector,
536 RTPS_DllAPI
static XMLP_ret getXMLInt(
537 tinyxml2::XMLElement* elem,
541 RTPS_DllAPI
static XMLP_ret getXMLUint(
542 tinyxml2::XMLElement* elem,
546 RTPS_DllAPI
static XMLP_ret getXMLUint(
547 tinyxml2::XMLElement* elem,
551 RTPS_DllAPI
static XMLP_ret getXMLBool(
552 tinyxml2::XMLElement* elem,
556 RTPS_DllAPI
static XMLP_ret getXMLEnum(
557 tinyxml2::XMLElement* elem,
558 rtps::DiscoveryProtocol_t* e,
561 RTPS_DllAPI
static XMLP_ret getXMLList(
562 tinyxml2::XMLElement* elem,
563 eprosima::fastdds::rtps::RemoteServerList_t& list,
566 RTPS_DllAPI
static XMLP_ret getXMLEnum(
567 tinyxml2::XMLElement* elem,
568 rtps::ParticipantFilteringFlags_t* e,
571 RTPS_DllAPI
static XMLP_ret getXMLRemoteServer(
572 tinyxml2::XMLElement* elem,
573 eprosima::fastdds::rtps::RemoteServerAttributes& server,
576 RTPS_DllAPI
static XMLP_ret getXMLString(
577 tinyxml2::XMLElement* elem,
581 RTPS_DllAPI
static XMLP_ret getXMLTransports(
582 tinyxml2::XMLElement* elem,
583 std::vector<std::shared_ptr<fastdds::rtps::TransportDescriptorInterface>>& transports,
586 RTPS_DllAPI
static XMLP_ret getXMLDisablePositiveAcksQos(
587 tinyxml2::XMLElement* elem,
591 RTPS_DllAPI
static XMLP_ret getXMLDataSharingQos(
592 tinyxml2::XMLElement* elem,
596 RTPS_DllAPI
static XMLP_ret getXMLguidPrefix(
597 tinyxml2::XMLElement* elem,
598 rtps::GuidPrefix_t& prefix,
601 RTPS_DllAPI
static XMLP_ret getXMLPublisherAttributes(
602 tinyxml2::XMLElement* elem,
606 RTPS_DllAPI
static XMLP_ret getXMLSubscriberAttributes(
607 tinyxml2::XMLElement* elem,
616 #endif // ifndef XML_PARSER_H_ fastdds::dds::OwnershipQosPolicy OwnershipQosPolicy
Definition: QosPolicies.h:57
fastdds::dds::PartitionQosPolicy PartitionQosPolicy
Definition: QosPolicies.h:73
node_att_map_t::const_iterator node_att_map_cit_t
Definition: XMLParser.h:48
std::unique_ptr< node_replier_t > up_node_replier_t
Definition: XMLParser.h:83
Class TopicAttributes, used by the user to define the attributes of the topic associated with a Publi...
Definition: TopicAttributes.h:35
std::unique_ptr< node_participant_t > up_node_participant_t
Definition: XMLParser.h:58
fastdds::dds::ReaderQos ReaderQos
Definition: ReaderQos.h:30
std::unique_ptr< TopicAttributes > up_topic_t
Definition: XMLParser.h:70
fastdds::dds::GroupDataQosPolicy GroupDataQosPolicy
Definition: QosPolicies.h:76
fastdds::dds::UserDataQosPolicy UserDataQosPolicy
Definition: QosPolicies.h:74
uint32_t MemberId
Definition: TypesBase.h:272
std::unique_ptr< ReplierAttributes > up_replier_t
Definition: XMLParser.h:80
std::unique_ptr< node_requester_t > up_node_requester_t
Definition: XMLParser.h:78
Class PublisherAttributes, used by the user to define the attributes of a Publisher.
Definition: PublisherAttributes.h:40
fastdds::dds::PublishModeQosPolicy PublishModeQosPolicy
Definition: QosPolicies.h:89
fastdds::dds::PresentationQosPolicy PresentationQosPolicy
Definition: QosPolicies.h:72
fastdds::dds::ResourceLimitsQosPolicy ResourceLimitsQosPolicy
Definition: QosPolicies.h:81
Definition: XMLEndpointParser.h:36
std::unique_ptr< SubscriberAttributes > up_subscriber_t
Definition: XMLParser.h:65
fastdds::dds::LifespanQosPolicy LifespanQosPolicy
Definition: QosPolicies.h:83
Definition: XMLParser.h:42
XMLP_ret
Enum class XMLP_ret, used to provide a strongly typed result from the operations within this module...
Definition: XMLParserCommon.h:25
fastdds::dds::DurabilityQosPolicy DurabilityQosPolicy
Definition: QosPolicies.h:40
std::unique_ptr< node_topic_t > up_node_topic_t
Definition: XMLParser.h:73
eProsima namespace.
Definition: LibrarySettingsAttributes.h:23
Definition: DynamicTypeBuilder.h:31
fastdds::dds::LivelinessQosPolicy LivelinessQosPolicy
Definition: QosPolicies.h:49
std::unique_ptr< PublisherAttributes > up_publisher_t
Definition: XMLParser.h:60
fastdds::dds::DisablePositiveACKsQosPolicy DisablePositiveACKsQosPolicy
Definition: QosPolicies.h:96
Class XMLParser, used to load XML data.
Definition: XMLParser.h:88
Specifies the configuration of a resource limited collection.
Definition: ResourceLimitedContainerConfig.hpp:35
fastdds::dds::LatencyBudgetQosPolicy LatencyBudgetQosPolicy
Definition: QosPolicies.h:42
std::map< std::string, sp_transport_t > sp_transport_map_t
Definition: XMLParser.h:51
std::shared_ptr< fastdds::rtps::TransportDescriptorInterface > sp_transport_t
Definition: XMLParser.h:50
fastdds::dds::OwnershipStrengthQosPolicy OwnershipStrengthQosPolicy
Definition: QosPolicies.h:84
fastdds::dds::TopicDataQosPolicy TopicDataQosPolicy
Definition: QosPolicies.h:75
std::unique_ptr< ParticipantAttributes > up_participant_t
Definition: XMLParser.h:55
std::unique_ptr< node_subscriber_t > up_node_subscriber_t
Definition: XMLParser.h:68
Class SubscriberAttributes, used by the user to define the attributes of a Subscriber.
Definition: SubscriberAttributes.h:38
IntraprocessDeliveryType
Definition: LibrarySettingsAttributes.h:26
std::map< std::string, p_dynamictypebuilder_t > p_dynamictype_map_t
Definition: XMLParser.h:53
fastdds::dds::TimeBasedFilterQosPolicy TimeBasedFilterQosPolicy
Definition: QosPolicies.h:64
std::map< std::string, std::string > node_att_map_t
Definition: XMLParser.h:46
fastdds::dds::HistoryQosPolicy HistoryQosPolicy
Definition: QosPolicies.h:80
std::unique_ptr< node_publisher_t > up_node_publisher_t
Definition: XMLParser.h:63
fastdds::dds::DataSharingQosPolicy DataSharingQosPolicy
Definition: QosPolicies.h:97
std::unique_ptr< RequesterAttributes > up_requester_t
Definition: XMLParser.h:75
std::vector< up_base_node_t > up_base_node_vector_t
Definition: XMLParser.h:45
std::unique_ptr< BaseNode > up_base_node_t
Definition: XMLParser.h:42
node_att_map_t::iterator node_att_map_it_t
Definition: XMLParser.h:47
fastdds::dds::DurabilityServiceQosPolicy DurabilityServiceQosPolicy
Definition: QosPolicies.h:82
fastdds::dds::ReliabilityQosPolicy ReliabilityQosPolicy
Definition: QosPolicies.h:53
fastdds::dds::DestinationOrderQosPolicy DestinationOrderQosPolicy
Definition: QosPolicies.h:63
fastdds::dds::DeadlineQosPolicy DeadlineQosPolicy
Definition: QosPolicies.h:41
fastdds::dds::WriterQos WriterQos
Definition: WriterQos.h:30