Class XMLParser

Inheritance Relationships

Derived Type

Class Documentation

class XMLParser

Class XMLParser, used to load XML data.

Subclassed by eprosima::fastrtps::xmlparser::XMLEndpointParser

Public Static Functions

static RTPS_DllAPI XMLP_ret loadDefaultXMLFile (up_base_node_t &root)

Load the default XML file.

Returns:

XMLP_ret::XML_OK on success, XMLP_ret::XML_ERROR in other case.

static RTPS_DllAPI XMLP_ret loadXML (const std::string &filename, up_base_node_t &root)

Load a XML file.

Parameters:
  • filename – Name for the file to be loaded.

  • root – Root node.

Returns:

XMLP_ret::XML_OK on success, XMLP_ret::XML_ERROR in other case.

static RTPS_DllAPI XMLP_ret loadXML (const char *data, size_t length, up_base_node_t &root)

Load a XML data from buffer.

Parameters:
  • data – XML data to load.

  • length – Length of the XML data.

  • root – Root node.

Returns:

XMLP_ret::XML_OK on success, XMLP_ret::XML_ERROR in other case.

static RTPS_DllAPI XMLP_ret loadXML (tinyxml2::XMLDocument &xmlDoc, up_base_node_t &root)

Load a XML node.

Parameters:
  • xmlDoc – Node to be loaded.

  • root – Root node.

Returns:

XMLP_ret::XML_OK on success, XMLP_ret::XML_ERROR in other case.

static RTPS_DllAPI XMLP_ret loadXMLProfiles (tinyxml2::XMLElement &profiles, up_base_node_t &root)

Load a XML node.

Parameters:
  • profiles – Node to be loaded.

  • root – Root node.

Returns:

XMLP_ret::XML_OK on success, XMLP_ret::XML_ERROR in other case.

static RTPS_DllAPI XMLP_ret loadXMLDynamicTypes (tinyxml2::XMLElement &types)

Load a XML node.

Parameters:

types – Node to be loaded.

Returns:

XMLP_ret::XML_OK on success, XMLP_ret::XML_ERROR in other case.

Protected Static Functions

static RTPS_DllAPI XMLP_ret parseXML (tinyxml2::XMLDocument &xmlDoc, up_base_node_t &root)
static RTPS_DllAPI XMLP_ret parseXMLProfiles (tinyxml2::XMLElement &profiles, up_base_node_t &root)
static RTPS_DllAPI XMLP_ret parseProfiles (tinyxml2::XMLElement *p_root, BaseNode &profilesNode)
static RTPS_DllAPI XMLP_ret parseLogConfig (tinyxml2::XMLElement *p_root)

Load a XML log node and parses it. It applies the configuration of the node directly.

Parameters:

p_root – Node to be loaded.

Returns:

XMLP_ret::XML_OK on success, XMLP_ret::XML_ERROR in other case.

static RTPS_DllAPI XMLP_ret parseXMLLibrarySettings (tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret parseXMLTransportsProf (tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret parseXMLDomainParticipantFactoryProf (tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret parseXMLParticipantProf (tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret parseXMLPublisherProf (tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret parseXMLSubscriberProf (tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret parseXMLTopicData (tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret parseXMLRequesterProf (tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret parseXMLReplierProf (tinyxml2::XMLElement *p_root, BaseNode &rootNode)
static RTPS_DllAPI XMLP_ret parseXMLTransportData (tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret validateXMLTransportElements (tinyxml2::XMLElement &p_root)
static RTPS_DllAPI XMLP_ret parseXMLCommonTransportData (tinyxml2::XMLElement *p_root, sp_transport_t p_transport)
static RTPS_DllAPI XMLP_ret parseXMLPortBasedTransportData (tinyxml2::XMLElement *p_root, std::shared_ptr< fastdds::rtps::PortBasedTransportDescriptor > p_transport)
static RTPS_DllAPI XMLP_ret parseXMLSocketTransportData (tinyxml2::XMLElement *p_root, std::shared_ptr< fastdds::rtps::SocketTransportDescriptor > p_transport)
static RTPS_DllAPI XMLP_ret parseXMLInterfaces (tinyxml2::XMLElement *p_root, std::shared_ptr< fastdds::rtps::SocketTransportDescriptor > p_transport)
static RTPS_DllAPI XMLP_ret parseXMLAllowlist (tinyxml2::XMLElement *p_root, std::shared_ptr< fastdds::rtps::SocketTransportDescriptor > p_transport)
static RTPS_DllAPI XMLP_ret parseXMLBlocklist (tinyxml2::XMLElement *p_root, std::shared_ptr< fastdds::rtps::SocketTransportDescriptor > p_transport)
static RTPS_DllAPI XMLP_ret parseXMLCommonTCPTransportData (tinyxml2::XMLElement *p_root, sp_transport_t p_transport)
static RTPS_DllAPI XMLP_ret parseXMLCommonSharedMemTransportData (tinyxml2::XMLElement *p_root, sp_transport_t p_transport)
static RTPS_DllAPI XMLP_ret parse_tls_config (tinyxml2::XMLElement *p_root, sp_transport_t tcp_transport)
static RTPS_DllAPI XMLP_ret parseXMLReceptionThreads (tinyxml2::XMLElement &p_root, fastdds::rtps::PortBasedTransportDescriptor::ReceptionThreadsConfigMap &reception_threads)
static RTPS_DllAPI XMLP_ret parseXMLConsumer (tinyxml2::XMLElement &consumer)

Load a XML consumer node and parses it. Adds the parsed consumer to Log directly.

Parameters:

consumer – Node to be loaded.

Returns:

XMLP_ret::XML_OK on success, XMLP_ret::XML_ERROR in other case.

static RTPS_DllAPI XMLP_ret parseXMLDynamicTypes (tinyxml2::XMLElement &types)
static RTPS_DllAPI XMLP_ret parseDynamicTypes (tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret parseXMLTypes (tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret parseXMLDynamicType (tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret parseXMLStructDynamicType (tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret parseXMLUnionDynamicType (tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret parseXMLEnumDynamicType (tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret parseXMLAliasDynamicType (tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret parseXMLBitsetDynamicType (tinyxml2::XMLElement *p_root)
static RTPS_DllAPI XMLP_ret parseXMLBitmaskDynamicType (tinyxml2::XMLElement *p_root)
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 parseXMLBitvalueDynamicType (tinyxml2::XMLElement *p_root, p_dynamictypebuilder_t p_dynamictype, uint16_t &position)
static RTPS_DllAPI p_dynamictypebuilder_t parseXMLMemberDynamicType (tinyxml2::XMLElement *p_root, p_dynamictypebuilder_t p_dynamictype, types::MemberId mId)
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 fillDataNode (tinyxml2::XMLElement *p_profile, DataNode< fastdds::dds::DomainParticipantFactoryQos > &factory_node)
static RTPS_DllAPI XMLP_ret fillDataNode (tinyxml2::XMLElement *p_profile, DataNode< ParticipantAttributes > &participant_node)
static RTPS_DllAPI XMLP_ret fillDataNode (tinyxml2::XMLElement *p_profile, DataNode< PublisherAttributes > &publisher_node)
static RTPS_DllAPI XMLP_ret fillDataNode (tinyxml2::XMLElement *p_profile, DataNode< SubscriberAttributes > &subscriber_node)
static RTPS_DllAPI XMLP_ret fillDataNode (tinyxml2::XMLElement *node, DataNode< TopicAttributes > &topic_node)
static RTPS_DllAPI XMLP_ret fillDataNode (tinyxml2::XMLElement *node, DataNode< RequesterAttributes > &requester_node)
static RTPS_DllAPI XMLP_ret fillDataNode (tinyxml2::XMLElement *node, DataNode< ReplierAttributes > &replier_node)
template<typename T> static RTPS_DllAPI void addAllAttributes (tinyxml2::XMLElement *p_profile, DataNode< T > &node)
static RTPS_DllAPI XMLP_ret getXMLEnum (tinyxml2::XMLElement *elem, fastrtps::IntraprocessDeliveryType *e, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLPropertiesPolicy (tinyxml2::XMLElement *elem, rtps::PropertyPolicy &propertiesPolicy, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLHistoryMemoryPolicy (tinyxml2::XMLElement *elem, rtps::MemoryManagementPolicy_t &historyMemoryPolicy, uint8_t ident)
static XMLP_ret getXMLExternalLocatorList(tinyxml2::XMLElement *elem, fastdds::rtps::ExternalLocators &external_locators, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLLocatorList (tinyxml2::XMLElement *elem, rtps::LocatorList_t &locatorList, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLLocatorUDPv4 (tinyxml2::XMLElement *elem, rtps::Locator_t &locator, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLLocatorUDPv6 (tinyxml2::XMLElement *elem, rtps::Locator_t &locator, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLLocatorTCPv4 (tinyxml2::XMLElement *elem, rtps::Locator_t &locator, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLLocatorTCPv6 (tinyxml2::XMLElement *elem, rtps::Locator_t &locator, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLWriterTimes (tinyxml2::XMLElement *elem, rtps::WriterTimes &times, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLReaderTimes (tinyxml2::XMLElement *elem, rtps::ReaderTimes &times, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDuration (tinyxml2::XMLElement *elem, Duration_t &duration, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLWriterQosPolicies (tinyxml2::XMLElement *elem, WriterQos &qos, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLReaderQosPolicies (tinyxml2::XMLElement *elem, ReaderQos &qos, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLPublishModeQos (tinyxml2::XMLElement *elem, PublishModeQosPolicy &publishMode, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLGroupDataQos (tinyxml2::XMLElement *elem, GroupDataQosPolicy &groupData, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLTopicDataQos (tinyxml2::XMLElement *elem, TopicDataQosPolicy &topicData, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLPartitionQos (tinyxml2::XMLElement *elem, PartitionQosPolicy &partition, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLPresentationQos (tinyxml2::XMLElement *elem, PresentationQosPolicy &presentation, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDestinationOrderQos (tinyxml2::XMLElement *elem, DestinationOrderQosPolicy &destinationOrder, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLOwnershipStrengthQos (tinyxml2::XMLElement *elem, OwnershipStrengthQosPolicy &ownershipStrength, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLOwnershipQos (tinyxml2::XMLElement *elem, OwnershipQosPolicy &ownership, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLTimeBasedFilterQos (tinyxml2::XMLElement *elem, TimeBasedFilterQosPolicy &timeBasedFilter, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLUserDataQos (tinyxml2::XMLElement *elem, UserDataQosPolicy &userData, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLLifespanQos (tinyxml2::XMLElement *elem, LifespanQosPolicy &lifespan, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLReliabilityQos (tinyxml2::XMLElement *elem, ReliabilityQosPolicy &reliability, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLLivelinessQos (tinyxml2::XMLElement *elem, LivelinessQosPolicy &liveliness, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLLatencyBudgetQos (tinyxml2::XMLElement *elem, LatencyBudgetQosPolicy &latencyBudget, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDeadlineQos (tinyxml2::XMLElement *elem, DeadlineQosPolicy &deadline, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDurabilityServiceQos (tinyxml2::XMLElement *elem, DurabilityServiceQosPolicy &durabilityService, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDurabilityQos (tinyxml2::XMLElement *elem, DurabilityQosPolicy &durability, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLTopicAttributes (tinyxml2::XMLElement *elem, TopicAttributes &topic, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLHistoryQosPolicy (tinyxml2::XMLElement *elem, HistoryQosPolicy &historyQos, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLResourceLimitsQos (tinyxml2::XMLElement *elem, ResourceLimitsQosPolicy &resourceLimitsQos, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLContainerAllocationConfig (tinyxml2::XMLElement *elem, ResourceLimitedContainerConfig &resourceLimitsQos, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLThroughputController (tinyxml2::XMLElement *elem, rtps::ThroughputControllerDescriptor &throughputController, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLPortParameters (tinyxml2::XMLElement *elem, rtps::PortParameters &port, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLParticipantAllocationAttributes (tinyxml2::XMLElement *elem, rtps::RTPSParticipantAllocationAttributes &allocation, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLRemoteLocatorsAllocationAttributes (tinyxml2::XMLElement *elem, rtps::RemoteLocatorsAllocationAttributes &allocation, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLSendBuffersAllocationAttributes (tinyxml2::XMLElement *elem, rtps::SendBuffersAllocationAttributes &allocation, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDiscoverySettings (tinyxml2::XMLElement *elem, rtps::DiscoverySettings &settings, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLTypeLookupSettings (tinyxml2::XMLElement *elem, rtps::TypeLookupSettings &settings, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLInitialAnnouncementsConfig (tinyxml2::XMLElement *elem, rtps::InitialAnnouncementConfig &config, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLBuiltinAttributes (tinyxml2::XMLElement *elem, rtps::BuiltinAttributes &builtin, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLOctetVector (tinyxml2::XMLElement *elem, std::vector< rtps::octet > &octet_vector, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLInt (tinyxml2::XMLElement *elem, int *i, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLUint (tinyxml2::XMLElement *elem, unsigned int *ui, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLUint (tinyxml2::XMLElement *elem, uint16_t *ui16, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLUint (tinyxml2::XMLElement *elem, uint64_t *ui64, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLBool (tinyxml2::XMLElement *elem, bool *b, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLEnum (tinyxml2::XMLElement *elem, rtps::DiscoveryProtocol_t *e, 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 getXMLEnum (tinyxml2::XMLElement *elem, rtps::ParticipantFilteringFlags_t *e, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLRemoteServer (tinyxml2::XMLElement *elem, eprosima::fastdds::rtps::RemoteServerAttributes &server, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLString (tinyxml2::XMLElement *elem, std::string *s, uint8_t ident)
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 getXMLDisablePositiveAcksQos (tinyxml2::XMLElement *elem, DisablePositiveACKsQosPolicy &disablePositiveAcks, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDataSharingQos (tinyxml2::XMLElement *elem, DataSharingQosPolicy &data_sharing, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLguidPrefix (tinyxml2::XMLElement *elem, rtps::GuidPrefix_t &prefix, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLDomainParticipantFactoryQos (tinyxml2::XMLElement &elem, fastdds::dds::DomainParticipantFactoryQos &qos)
static RTPS_DllAPI XMLP_ret getXMLPublisherAttributes (tinyxml2::XMLElement *elem, PublisherAttributes &publisher, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLSubscriberAttributes (tinyxml2::XMLElement *elem, SubscriberAttributes &subscriber, uint8_t ident)
static RTPS_DllAPI XMLP_ret getXMLThreadSettings (tinyxml2::XMLElement &elem, fastdds::rtps::ThreadSettings &thread_setting)
static RTPS_DllAPI XMLP_ret getXMLThreadSettingsWithPort (tinyxml2::XMLElement &elem, fastdds::rtps::ThreadSettings &thread_setting, uint32_t &port)
static RTPS_DllAPI XMLP_ret getXMLEntityFactoryQos (tinyxml2::XMLElement &elem, fastdds::dds::EntityFactoryQosPolicy &entity_factory)
static RTPS_DllAPI XMLP_ret getXMLBuiltinTransports (tinyxml2::XMLElement *elem, eprosima::fastdds::rtps::BuiltinTransports *bt, eprosima::fastdds::rtps::BuiltinTransportsOptions *bt_opts, uint8_t ident)