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;
98 RTPS_DllAPI
static XMLP_ret loadDefaultXMLFile(
99 up_base_node_t& root);
107 RTPS_DllAPI
static XMLP_ret loadXML(
108 const std::string& filename,
109 up_base_node_t& root);
118 RTPS_DllAPI
static XMLP_ret loadXML(
121 up_base_node_t& root);
129 RTPS_DllAPI
static XMLP_ret loadXML(
130 tinyxml2::XMLDocument& xmlDoc,
131 up_base_node_t& root);
139 RTPS_DllAPI
static XMLP_ret loadXMLProfiles(
140 tinyxml2::XMLElement& profiles,
141 up_base_node_t& root);
148 RTPS_DllAPI
static XMLP_ret loadXMLDynamicTypes(
149 tinyxml2::XMLElement& types);
153 RTPS_DllAPI
static XMLP_ret parseXML(
154 tinyxml2::XMLDocument& xmlDoc,
155 up_base_node_t& root);
157 RTPS_DllAPI
static XMLP_ret parseXMLProfiles(
158 tinyxml2::XMLElement& profiles,
159 up_base_node_t& root);
161 RTPS_DllAPI
static XMLP_ret parseProfiles(
162 tinyxml2::XMLElement* p_root,
171 RTPS_DllAPI
static XMLP_ret parseLogConfig(
172 tinyxml2::XMLElement* p_root);
174 RTPS_DllAPI
static XMLP_ret parseXMLLibrarySettings(
175 tinyxml2::XMLElement* p_root);
177 RTPS_DllAPI
static XMLP_ret parseXMLTransportsProf(
178 tinyxml2::XMLElement* p_root);
180 RTPS_DllAPI
static XMLP_ret parseXMLParticipantProf(
181 tinyxml2::XMLElement* p_root,
184 RTPS_DllAPI
static XMLP_ret parseXMLPublisherProf(
185 tinyxml2::XMLElement* p_root,
188 RTPS_DllAPI
static XMLP_ret parseXMLSubscriberProf(
189 tinyxml2::XMLElement* p_root,
192 RTPS_DllAPI
static XMLP_ret parseXMLTopicData(
193 tinyxml2::XMLElement* p_root,
196 RTPS_DllAPI
static XMLP_ret parseXMLRequesterProf(
197 tinyxml2::XMLElement* p_root,
200 RTPS_DllAPI
static XMLP_ret parseXMLReplierProf(
201 tinyxml2::XMLElement* p_root,
204 RTPS_DllAPI
static XMLP_ret parseXMLTransportData(
205 tinyxml2::XMLElement* p_root);
207 RTPS_DllAPI
static XMLP_ret parseXMLCommonTransportData(
208 tinyxml2::XMLElement* p_root,
209 sp_transport_t p_transport);
211 RTPS_DllAPI
static XMLP_ret parseXMLCommonTCPTransportData(
212 tinyxml2::XMLElement* p_root,
213 sp_transport_t p_transport);
215 RTPS_DllAPI
static XMLP_ret parseXMLCommonSharedMemTransportData(
216 tinyxml2::XMLElement* p_root,
217 sp_transport_t p_transport);
219 RTPS_DllAPI
static XMLP_ret parse_tls_config(
220 tinyxml2::XMLElement* p_root,
221 sp_transport_t tcp_transport);
228 RTPS_DllAPI
static XMLP_ret parseXMLConsumer(
229 tinyxml2::XMLElement& consumer);
231 RTPS_DllAPI
static XMLP_ret parseXMLDynamicTypes(
232 tinyxml2::XMLElement& types);
234 RTPS_DllAPI
static XMLP_ret parseDynamicTypes(
235 tinyxml2::XMLElement* p_root);
237 RTPS_DllAPI
static XMLP_ret parseXMLTypes(
238 tinyxml2::XMLElement* p_root);
240 RTPS_DllAPI
static XMLP_ret parseXMLDynamicType(
241 tinyxml2::XMLElement* p_root);
243 RTPS_DllAPI
static XMLP_ret parseXMLStructDynamicType(
244 tinyxml2::XMLElement* p_root);
246 RTPS_DllAPI
static XMLP_ret parseXMLUnionDynamicType(
247 tinyxml2::XMLElement* p_root);
249 RTPS_DllAPI
static XMLP_ret parseXMLEnumDynamicType(
250 tinyxml2::XMLElement* p_root);
252 RTPS_DllAPI
static XMLP_ret parseXMLAliasDynamicType(
253 tinyxml2::XMLElement* p_root);
255 RTPS_DllAPI
static XMLP_ret parseXMLBitsetDynamicType(
256 tinyxml2::XMLElement* p_root);
258 RTPS_DllAPI
static XMLP_ret parseXMLBitmaskDynamicType(
259 tinyxml2::XMLElement* p_root);
261 RTPS_DllAPI
static p_dynamictypebuilder_t parseXMLBitfieldDynamicType(
262 tinyxml2::XMLElement* p_root,
263 p_dynamictypebuilder_t p_dynamictype,
267 RTPS_DllAPI
static XMLP_ret parseXMLBitvalueDynamicType(
268 tinyxml2::XMLElement* p_root,
269 p_dynamictypebuilder_t p_dynamictype,
272 RTPS_DllAPI
static p_dynamictypebuilder_t parseXMLMemberDynamicType(
273 tinyxml2::XMLElement* p_root,
274 p_dynamictypebuilder_t p_dynamictype,
277 RTPS_DllAPI
static p_dynamictypebuilder_t parseXMLMemberDynamicType(
278 tinyxml2::XMLElement* p_root,
279 p_dynamictypebuilder_t p_dynamictype,
281 const std::string& values);
283 RTPS_DllAPI
static XMLP_ret fillDataNode(
284 tinyxml2::XMLElement* p_profile,
287 RTPS_DllAPI
static XMLP_ret fillDataNode(
288 tinyxml2::XMLElement* p_profile,
291 RTPS_DllAPI
static XMLP_ret fillDataNode(
292 tinyxml2::XMLElement* p_profile,
295 RTPS_DllAPI
static XMLP_ret fillDataNode(
296 tinyxml2::XMLElement* node,
299 RTPS_DllAPI
static XMLP_ret fillDataNode(
300 tinyxml2::XMLElement* node,
303 RTPS_DllAPI
static XMLP_ret fillDataNode(
304 tinyxml2::XMLElement* node,
307 template <
typename T>
308 RTPS_DllAPI
static void addAllAttributes(
309 tinyxml2::XMLElement* p_profile,
312 RTPS_DllAPI
static XMLP_ret getXMLEnum(
313 tinyxml2::XMLElement* elem,
317 RTPS_DllAPI
static XMLP_ret getXMLPropertiesPolicy(
318 tinyxml2::XMLElement* elem,
319 rtps::PropertyPolicy& propertiesPolicy,
322 RTPS_DllAPI
static XMLP_ret getXMLHistoryMemoryPolicy(
323 tinyxml2::XMLElement* elem,
324 rtps::MemoryManagementPolicy_t& historyMemoryPolicy,
327 RTPS_DllAPI
static XMLP_ret getXMLLocatorList(
328 tinyxml2::XMLElement* elem,
329 rtps::LocatorList_t& locatorList,
332 RTPS_DllAPI
static XMLP_ret getXMLLocatorUDPv4(
333 tinyxml2::XMLElement* elem,
334 rtps::Locator_t& locator,
337 RTPS_DllAPI
static XMLP_ret getXMLLocatorUDPv6(
338 tinyxml2::XMLElement* elem,
339 rtps::Locator_t& locator,
342 RTPS_DllAPI
static XMLP_ret getXMLLocatorTCPv4(
343 tinyxml2::XMLElement* elem,
344 rtps::Locator_t& locator,
347 RTPS_DllAPI
static XMLP_ret getXMLLocatorTCPv6(
348 tinyxml2::XMLElement* elem,
349 rtps::Locator_t& locator,
352 RTPS_DllAPI
static XMLP_ret getXMLWriterTimes(
353 tinyxml2::XMLElement* elem,
354 rtps::WriterTimes& times,
357 RTPS_DllAPI
static XMLP_ret getXMLReaderTimes(
358 tinyxml2::XMLElement* elem,
359 rtps::ReaderTimes& times,
362 RTPS_DllAPI
static XMLP_ret getXMLDuration(
363 tinyxml2::XMLElement* elem,
364 Duration_t& duration,
367 RTPS_DllAPI
static XMLP_ret getXMLWriterQosPolicies(
368 tinyxml2::XMLElement* elem,
372 RTPS_DllAPI
static XMLP_ret getXMLReaderQosPolicies(
373 tinyxml2::XMLElement* elem,
377 RTPS_DllAPI
static XMLP_ret getXMLPublishModeQos(
378 tinyxml2::XMLElement* elem,
382 RTPS_DllAPI
static XMLP_ret getXMLGroupDataQos(
383 tinyxml2::XMLElement* elem,
387 RTPS_DllAPI
static XMLP_ret getXMLTopicDataQos(
388 tinyxml2::XMLElement* elem,
392 RTPS_DllAPI
static XMLP_ret getXMLPartitionQos(
393 tinyxml2::XMLElement* elem,
397 RTPS_DllAPI
static XMLP_ret getXMLPresentationQos(
398 tinyxml2::XMLElement* elem,
402 RTPS_DllAPI
static XMLP_ret getXMLDestinationOrderQos(
403 tinyxml2::XMLElement* elem,
407 RTPS_DllAPI
static XMLP_ret getXMLOwnershipStrengthQos(
408 tinyxml2::XMLElement* elem,
412 RTPS_DllAPI
static XMLP_ret getXMLOwnershipQos(
413 tinyxml2::XMLElement* elem,
417 RTPS_DllAPI
static XMLP_ret getXMLTimeBasedFilterQos(
418 tinyxml2::XMLElement* elem,
422 RTPS_DllAPI
static XMLP_ret getXMLUserDataQos(
423 tinyxml2::XMLElement* elem,
427 RTPS_DllAPI
static XMLP_ret getXMLLifespanQos(
428 tinyxml2::XMLElement* elem,
432 RTPS_DllAPI
static XMLP_ret getXMLReliabilityQos(
433 tinyxml2::XMLElement* elem,
437 RTPS_DllAPI
static XMLP_ret getXMLLivelinessQos(
438 tinyxml2::XMLElement* elem,
442 RTPS_DllAPI
static XMLP_ret getXMLLatencyBudgetQos(
443 tinyxml2::XMLElement* elem,
447 RTPS_DllAPI
static XMLP_ret getXMLDeadlineQos(
448 tinyxml2::XMLElement* elem,
452 RTPS_DllAPI
static XMLP_ret getXMLDurabilityServiceQos(
453 tinyxml2::XMLElement* elem,
457 RTPS_DllAPI
static XMLP_ret getXMLDurabilityQos(
458 tinyxml2::XMLElement* elem,
462 RTPS_DllAPI
static XMLP_ret getXMLTopicAttributes(
463 tinyxml2::XMLElement* elem,
467 RTPS_DllAPI
static XMLP_ret getXMLHistoryQosPolicy(
468 tinyxml2::XMLElement* elem,
472 RTPS_DllAPI
static XMLP_ret getXMLResourceLimitsQos(
473 tinyxml2::XMLElement* elem,
477 RTPS_DllAPI
static XMLP_ret getXMLContainerAllocationConfig(
478 tinyxml2::XMLElement* elem,
482 RTPS_DllAPI
static XMLP_ret getXMLThroughputController(
483 tinyxml2::XMLElement* elem,
484 rtps::ThroughputControllerDescriptor& throughputController,
487 RTPS_DllAPI
static XMLP_ret getXMLPortParameters(
488 tinyxml2::XMLElement* elem,
489 rtps::PortParameters& port,
492 RTPS_DllAPI
static XMLP_ret getXMLParticipantAllocationAttributes(
493 tinyxml2::XMLElement* elem,
494 rtps::RTPSParticipantAllocationAttributes& allocation,
497 RTPS_DllAPI
static XMLP_ret getXMLRemoteLocatorsAllocationAttributes(
498 tinyxml2::XMLElement* elem,
499 rtps::RemoteLocatorsAllocationAttributes& allocation,
502 RTPS_DllAPI
static XMLP_ret getXMLSendBuffersAllocationAttributes(
503 tinyxml2::XMLElement* elem,
504 rtps::SendBuffersAllocationAttributes& allocation,
507 RTPS_DllAPI
static XMLP_ret getXMLDiscoverySettings(
508 tinyxml2::XMLElement* elem,
509 rtps::DiscoverySettings& settings,
512 RTPS_DllAPI
static XMLP_ret getXMLInitialAnnouncementsConfig(
513 tinyxml2::XMLElement* elem,
514 rtps::InitialAnnouncementConfig& config,
517 RTPS_DllAPI
static XMLP_ret getXMLBuiltinAttributes(
518 tinyxml2::XMLElement* elem,
519 rtps::BuiltinAttributes& builtin,
522 RTPS_DllAPI
static XMLP_ret getXMLOctetVector(
523 tinyxml2::XMLElement* elem,
524 std::vector<rtps::octet>& octet_vector,
527 RTPS_DllAPI
static XMLP_ret getXMLInt(
528 tinyxml2::XMLElement* elem,
532 RTPS_DllAPI
static XMLP_ret getXMLUint(
533 tinyxml2::XMLElement* elem,
537 RTPS_DllAPI
static XMLP_ret getXMLUint(
538 tinyxml2::XMLElement* elem,
542 RTPS_DllAPI
static XMLP_ret getXMLBool(
543 tinyxml2::XMLElement* elem,
547 RTPS_DllAPI
static XMLP_ret getXMLEnum(
548 tinyxml2::XMLElement* elem,
549 rtps::DiscoveryProtocol_t* e,
552 RTPS_DllAPI
static XMLP_ret getXMLList(
553 tinyxml2::XMLElement* elem,
554 eprosima::fastdds::rtps::RemoteServerList_t& list,
557 RTPS_DllAPI
static XMLP_ret getXMLEnum(
558 tinyxml2::XMLElement* elem,
559 rtps::ParticipantFilteringFlags_t* e,
562 RTPS_DllAPI
static XMLP_ret getXMLRemoteServer(
563 tinyxml2::XMLElement* elem,
564 eprosima::fastdds::rtps::RemoteServerAttributes& server,
567 RTPS_DllAPI
static XMLP_ret getXMLString(
568 tinyxml2::XMLElement* elem,
572 RTPS_DllAPI
static XMLP_ret getXMLTransports(
573 tinyxml2::XMLElement* elem,
574 std::vector<std::shared_ptr<fastdds::rtps::TransportDescriptorInterface>>& transports,
577 RTPS_DllAPI
static XMLP_ret getXMLDisablePositiveAcksQos(
578 tinyxml2::XMLElement* elem,
582 RTPS_DllAPI
static XMLP_ret getXMLDataSharingQos(
583 tinyxml2::XMLElement* elem,
587 RTPS_DllAPI
static XMLP_ret getXMLguidPrefix(
588 tinyxml2::XMLElement* elem,
589 rtps::GuidPrefix_t& prefix,
592 RTPS_DllAPI
static XMLP_ret getXMLPublisherAttributes(
593 tinyxml2::XMLElement* elem,
597 RTPS_DllAPI
static XMLP_ret getXMLSubscriberAttributes(
598 tinyxml2::XMLElement* elem,
607 #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:39
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:26
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:89
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:40
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