Fast RTPS  Version 2.11.2
Fast RTPS
Loading...
Searching...
No Matches
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 <stdio.h>
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>
28
29#include <map>
30#include <string>
31
32namespace tinyxml2 {
33class XMLElement;
34class XMLDocument;
35} // namespace tinyxml2
36
37namespace eprosima {
38namespace fastrtps {
39namespace xmlparser {
40
41class BaseNode;
42template <class T> class DataNode;
43
44typedef std::unique_ptr<BaseNode> up_base_node_t;
45typedef std::vector<up_base_node_t> up_base_node_vector_t;
46typedef std::map<std::string, std::string> node_att_map_t;
47typedef node_att_map_t::iterator node_att_map_it_t;
48typedef node_att_map_t::const_iterator node_att_map_cit_t;
49
50typedef std::shared_ptr<fastdds::rtps::TransportDescriptorInterface> sp_transport_t;
51typedef std::map<std::string, sp_transport_t> sp_transport_map_t;
53typedef std::map<std::string, p_dynamictypebuilder_t> p_dynamictype_map_t;
54
55typedef std::unique_ptr<ParticipantAttributes> up_participant_t;
58typedef std::unique_ptr<node_participant_t> up_node_participant_t;
59
60typedef std::unique_ptr<PublisherAttributes> up_publisher_t;
63typedef std::unique_ptr<node_publisher_t> up_node_publisher_t;
64
65typedef std::unique_ptr<SubscriberAttributes> up_subscriber_t;
68typedef std::unique_ptr<node_subscriber_t> up_node_subscriber_t;
69
70typedef std::unique_ptr<TopicAttributes> up_topic_t;
73typedef std::unique_ptr<node_topic_t> up_node_topic_t;
74
75typedef std::unique_ptr<RequesterAttributes> up_requester_t;
78typedef std::unique_ptr<node_requester_t> up_node_requester_t;
79
80typedef std::unique_ptr<ReplierAttributes> up_replier_t;
83typedef std::unique_ptr<node_replier_t> up_node_replier_t;
84
89{
90
91public:
92
97 RTPS_DllAPI static XMLP_ret loadDefaultXMLFile(
98 up_base_node_t& root);
99
106 RTPS_DllAPI static XMLP_ret loadXML(
107 const std::string& filename,
108 up_base_node_t& root);
109
117 RTPS_DllAPI static XMLP_ret loadXML(
118 const char* data,
119 size_t length,
120 up_base_node_t& root);
121
128 RTPS_DllAPI static XMLP_ret loadXML(
129 tinyxml2::XMLDocument& xmlDoc,
130 up_base_node_t& root);
131
138 RTPS_DllAPI static XMLP_ret loadXMLProfiles(
139 tinyxml2::XMLElement& profiles,
140 up_base_node_t& root);
141
147 RTPS_DllAPI static XMLP_ret loadXMLDynamicTypes(
148 tinyxml2::XMLElement& types);
149
150protected:
151
152 RTPS_DllAPI static XMLP_ret parseXML(
153 tinyxml2::XMLDocument& xmlDoc,
154 up_base_node_t& root);
155
156 RTPS_DllAPI static XMLP_ret parseXMLProfiles(
157 tinyxml2::XMLElement& profiles,
158 up_base_node_t& root);
159
160 RTPS_DllAPI static XMLP_ret parseProfiles(
161 tinyxml2::XMLElement* p_root,
162 BaseNode& profilesNode);
163
164
170 RTPS_DllAPI static XMLP_ret parseLogConfig(
171 tinyxml2::XMLElement* p_root);
172
174 tinyxml2::XMLElement* p_root);
175
177 tinyxml2::XMLElement* p_root);
178
180 tinyxml2::XMLElement* p_root,
181 BaseNode& rootNode);
182
183 RTPS_DllAPI static XMLP_ret parseXMLPublisherProf(
184 tinyxml2::XMLElement* p_root,
185 BaseNode& rootNode);
186
188 tinyxml2::XMLElement* p_root,
189 BaseNode& rootNode);
190
191 RTPS_DllAPI static XMLP_ret parseXMLTopicData(
192 tinyxml2::XMLElement* p_root,
193 BaseNode& rootNode);
194
195 RTPS_DllAPI static XMLP_ret parseXMLRequesterProf(
196 tinyxml2::XMLElement* p_root,
197 BaseNode& rootNode);
198
199 RTPS_DllAPI static XMLP_ret parseXMLReplierProf(
200 tinyxml2::XMLElement* p_root,
201 BaseNode& rootNode);
202
203 RTPS_DllAPI static XMLP_ret parseXMLTransportData(
204 tinyxml2::XMLElement* p_root);
205
207 tinyxml2::XMLElement* p_root,
208 sp_transport_t p_transport);
209
211 tinyxml2::XMLElement* p_root,
212 sp_transport_t p_transport);
213
215 tinyxml2::XMLElement* p_root,
216 sp_transport_t p_transport);
217
218 RTPS_DllAPI static XMLP_ret parse_tls_config(
219 tinyxml2::XMLElement* p_root,
220 sp_transport_t tcp_transport);
221
227 RTPS_DllAPI static XMLP_ret parseXMLConsumer(
228 tinyxml2::XMLElement& consumer);
229
230 RTPS_DllAPI static XMLP_ret parseXMLDynamicTypes(
231 tinyxml2::XMLElement& types);
232
233 RTPS_DllAPI static XMLP_ret parseDynamicTypes(
234 tinyxml2::XMLElement* p_root);
235
236 RTPS_DllAPI static XMLP_ret parseXMLTypes(
237 tinyxml2::XMLElement* p_root);
238
239 RTPS_DllAPI static XMLP_ret parseXMLDynamicType(
240 tinyxml2::XMLElement* p_root);
241
243 tinyxml2::XMLElement* p_root);
244
246 tinyxml2::XMLElement* p_root);
247
249 tinyxml2::XMLElement* p_root);
250
252 tinyxml2::XMLElement* p_root);
253
255 tinyxml2::XMLElement* p_root);
256
258 tinyxml2::XMLElement* p_root);
259
261 tinyxml2::XMLElement* p_root,
262 p_dynamictypebuilder_t p_dynamictype,
263 types::MemberId mId,
264 uint16_t& position);
265
267 tinyxml2::XMLElement* p_root,
268 p_dynamictypebuilder_t p_dynamictype,
269 uint16_t& position);
270
272 tinyxml2::XMLElement* p_root,
273 p_dynamictypebuilder_t p_dynamictype,
274 types::MemberId mId);
275
277 tinyxml2::XMLElement* p_root,
278 p_dynamictypebuilder_t p_dynamictype,
279 types::MemberId mId,
280 const std::string& values);
281
282 RTPS_DllAPI static XMLP_ret fillDataNode(
283 tinyxml2::XMLElement* p_profile,
284 DataNode<ParticipantAttributes>& participant_node);
285
286 RTPS_DllAPI static XMLP_ret fillDataNode(
287 tinyxml2::XMLElement* p_profile,
288 DataNode<PublisherAttributes>& publisher_node);
289
290 RTPS_DllAPI static XMLP_ret fillDataNode(
291 tinyxml2::XMLElement* p_profile,
292 DataNode<SubscriberAttributes>& subscriber_node);
293
294 RTPS_DllAPI static XMLP_ret fillDataNode(
295 tinyxml2::XMLElement* node,
296 DataNode<TopicAttributes>& topic_node);
297
298 RTPS_DllAPI static XMLP_ret fillDataNode(
299 tinyxml2::XMLElement* node,
300 DataNode<RequesterAttributes>& requester_node);
301
302 RTPS_DllAPI static XMLP_ret fillDataNode(
303 tinyxml2::XMLElement* node,
304 DataNode<ReplierAttributes>& replier_node);
305
306 template <typename T>
307 RTPS_DllAPI static void addAllAttributes(
308 tinyxml2::XMLElement* p_profile,
309 DataNode<T>& node);
310
311 RTPS_DllAPI static XMLP_ret getXMLEnum(
312 tinyxml2::XMLElement* elem,
314 uint8_t ident);
315
317 tinyxml2::XMLElement* elem,
318 rtps::PropertyPolicy& propertiesPolicy,
319 uint8_t ident);
320
322 tinyxml2::XMLElement* elem,
323 rtps::MemoryManagementPolicy_t& historyMemoryPolicy,
324 uint8_t ident);
325
327 tinyxml2::XMLElement* elem,
328 fastdds::rtps::ExternalLocators& external_locators,
329 uint8_t ident);
330
331 RTPS_DllAPI static XMLP_ret getXMLLocatorList(
332 tinyxml2::XMLElement* elem,
333 rtps::LocatorList_t& locatorList,
334 uint8_t ident);
335
336 RTPS_DllAPI static XMLP_ret getXMLLocatorUDPv4(
337 tinyxml2::XMLElement* elem,
338 rtps::Locator_t& locator,
339 uint8_t ident);
340
341 RTPS_DllAPI static XMLP_ret getXMLLocatorUDPv6(
342 tinyxml2::XMLElement* elem,
343 rtps::Locator_t& locator,
344 uint8_t ident);
345
346 RTPS_DllAPI static XMLP_ret getXMLLocatorTCPv4(
347 tinyxml2::XMLElement* elem,
348 rtps::Locator_t& locator,
349 uint8_t ident);
350
351 RTPS_DllAPI static XMLP_ret getXMLLocatorTCPv6(
352 tinyxml2::XMLElement* elem,
353 rtps::Locator_t& locator,
354 uint8_t ident);
355
356 RTPS_DllAPI static XMLP_ret getXMLWriterTimes(
357 tinyxml2::XMLElement* elem,
358 rtps::WriterTimes& times,
359 uint8_t ident);
360
361 RTPS_DllAPI static XMLP_ret getXMLReaderTimes(
362 tinyxml2::XMLElement* elem,
363 rtps::ReaderTimes& times,
364 uint8_t ident);
365
366 RTPS_DllAPI static XMLP_ret getXMLDuration(
367 tinyxml2::XMLElement* elem,
368 Duration_t& duration,
369 uint8_t ident);
370
372 tinyxml2::XMLElement* elem,
373 WriterQos& qos,
374 uint8_t ident);
375
377 tinyxml2::XMLElement* elem,
378 ReaderQos& qos,
379 uint8_t ident);
380
381 RTPS_DllAPI static XMLP_ret getXMLPublishModeQos(
382 tinyxml2::XMLElement* elem,
383 PublishModeQosPolicy& publishMode,
384 uint8_t ident);
385
386 RTPS_DllAPI static XMLP_ret getXMLGroupDataQos(
387 tinyxml2::XMLElement* elem,
388 GroupDataQosPolicy& groupData,
389 uint8_t ident);
390
391 RTPS_DllAPI static XMLP_ret getXMLTopicDataQos(
392 tinyxml2::XMLElement* elem,
393 TopicDataQosPolicy& topicData,
394 uint8_t ident);
395
396 RTPS_DllAPI static XMLP_ret getXMLPartitionQos(
397 tinyxml2::XMLElement* elem,
398 PartitionQosPolicy& partition,
399 uint8_t ident);
400
401 RTPS_DllAPI static XMLP_ret getXMLPresentationQos(
402 tinyxml2::XMLElement* elem,
403 PresentationQosPolicy& presentation,
404 uint8_t ident);
405
407 tinyxml2::XMLElement* elem,
408 DestinationOrderQosPolicy& destinationOrder,
409 uint8_t ident);
410
412 tinyxml2::XMLElement* elem,
413 OwnershipStrengthQosPolicy& ownershipStrength,
414 uint8_t ident);
415
416 RTPS_DllAPI static XMLP_ret getXMLOwnershipQos(
417 tinyxml2::XMLElement* elem,
418 OwnershipQosPolicy& ownership,
419 uint8_t ident);
420
422 tinyxml2::XMLElement* elem,
423 TimeBasedFilterQosPolicy& timeBasedFilter,
424 uint8_t ident);
425
426 RTPS_DllAPI static XMLP_ret getXMLUserDataQos(
427 tinyxml2::XMLElement* elem,
428 UserDataQosPolicy& userData,
429 uint8_t ident);
430
431 RTPS_DllAPI static XMLP_ret getXMLLifespanQos(
432 tinyxml2::XMLElement* elem,
433 LifespanQosPolicy& lifespan,
434 uint8_t ident);
435
436 RTPS_DllAPI static XMLP_ret getXMLReliabilityQos(
437 tinyxml2::XMLElement* elem,
438 ReliabilityQosPolicy& reliability,
439 uint8_t ident);
440
441 RTPS_DllAPI static XMLP_ret getXMLLivelinessQos(
442 tinyxml2::XMLElement* elem,
443 LivelinessQosPolicy& liveliness,
444 uint8_t ident);
445
447 tinyxml2::XMLElement* elem,
448 LatencyBudgetQosPolicy& latencyBudget,
449 uint8_t ident);
450
451 RTPS_DllAPI static XMLP_ret getXMLDeadlineQos(
452 tinyxml2::XMLElement* elem,
453 DeadlineQosPolicy& deadline,
454 uint8_t ident);
455
457 tinyxml2::XMLElement* elem,
458 DurabilityServiceQosPolicy& durabilityService,
459 uint8_t ident);
460
461 RTPS_DllAPI static XMLP_ret getXMLDurabilityQos(
462 tinyxml2::XMLElement* elem,
463 DurabilityQosPolicy& durability,
464 uint8_t ident);
465
466 RTPS_DllAPI static XMLP_ret getXMLTopicAttributes(
467 tinyxml2::XMLElement* elem,
468 TopicAttributes& topic,
469 uint8_t ident);
470
472 tinyxml2::XMLElement* elem,
473 HistoryQosPolicy& historyQos,
474 uint8_t ident);
475
477 tinyxml2::XMLElement* elem,
478 ResourceLimitsQosPolicy& resourceLimitsQos,
479 uint8_t ident);
480
482 tinyxml2::XMLElement* elem,
483 ResourceLimitedContainerConfig& resourceLimitsQos,
484 uint8_t ident);
485
487 tinyxml2::XMLElement* elem,
488 rtps::ThroughputControllerDescriptor& throughputController,
489 uint8_t ident);
490
491 RTPS_DllAPI static XMLP_ret getXMLPortParameters(
492 tinyxml2::XMLElement* elem,
493 rtps::PortParameters& port,
494 uint8_t ident);
495
497 tinyxml2::XMLElement* elem,
498 rtps::RTPSParticipantAllocationAttributes& allocation,
499 uint8_t ident);
500
502 tinyxml2::XMLElement* elem,
503 rtps::RemoteLocatorsAllocationAttributes& allocation,
504 uint8_t ident);
505
507 tinyxml2::XMLElement* elem,
508 rtps::SendBuffersAllocationAttributes& allocation,
509 uint8_t ident);
510
512 tinyxml2::XMLElement* elem,
513 rtps::DiscoverySettings& settings,
514 uint8_t ident);
515
517 tinyxml2::XMLElement* elem,
518 rtps::TypeLookupSettings& settings,
519 uint8_t ident);
520
522 tinyxml2::XMLElement* elem,
523 rtps::InitialAnnouncementConfig& config,
524 uint8_t ident);
525
527 tinyxml2::XMLElement* elem,
528 rtps::BuiltinAttributes& builtin,
529 uint8_t ident);
530
531 RTPS_DllAPI static XMLP_ret getXMLOctetVector(
532 tinyxml2::XMLElement* elem,
533 std::vector<rtps::octet>& octet_vector,
534 uint8_t ident);
535
536 RTPS_DllAPI static XMLP_ret getXMLInt(
537 tinyxml2::XMLElement* elem,
538 int* i,
539 uint8_t ident);
540
541 RTPS_DllAPI static XMLP_ret getXMLUint(
542 tinyxml2::XMLElement* elem,
543 unsigned int* ui,
544 uint8_t ident);
545
546 RTPS_DllAPI static XMLP_ret getXMLUint(
547 tinyxml2::XMLElement* elem,
548 uint16_t* ui16,
549 uint8_t ident);
550
551 RTPS_DllAPI static XMLP_ret getXMLBool(
552 tinyxml2::XMLElement* elem,
553 bool* b,
554 uint8_t ident);
555
556 RTPS_DllAPI static XMLP_ret getXMLEnum(
557 tinyxml2::XMLElement* elem,
558 rtps::DiscoveryProtocol_t* e,
559 uint8_t ident);
560
561 RTPS_DllAPI static XMLP_ret getXMLList(
562 tinyxml2::XMLElement* elem,
563 eprosima::fastdds::rtps::RemoteServerList_t& list,
564 uint8_t ident);
565
566 RTPS_DllAPI static XMLP_ret getXMLEnum(
567 tinyxml2::XMLElement* elem,
568 rtps::ParticipantFilteringFlags_t* e,
569 uint8_t ident);
570
571 RTPS_DllAPI static XMLP_ret getXMLRemoteServer(
572 tinyxml2::XMLElement* elem,
573 eprosima::fastdds::rtps::RemoteServerAttributes& server,
574 uint8_t ident);
575
576 RTPS_DllAPI static XMLP_ret getXMLString(
577 tinyxml2::XMLElement* elem,
578 std::string* s,
579 uint8_t ident);
580
581 RTPS_DllAPI static XMLP_ret getXMLTransports(
582 tinyxml2::XMLElement* elem,
583 std::vector<std::shared_ptr<fastdds::rtps::TransportDescriptorInterface>>& transports,
584 uint8_t ident);
585
587 tinyxml2::XMLElement* elem,
588 DisablePositiveACKsQosPolicy& disablePositiveAcks,
589 uint8_t ident);
590
591 RTPS_DllAPI static XMLP_ret getXMLDataSharingQos(
592 tinyxml2::XMLElement* elem,
593 DataSharingQosPolicy& data_sharing,
594 uint8_t ident);
595
596 RTPS_DllAPI static XMLP_ret getXMLguidPrefix(
597 tinyxml2::XMLElement* elem,
598 rtps::GuidPrefix_t& prefix,
599 uint8_t ident);
600
602 tinyxml2::XMLElement* elem,
603 PublisherAttributes& publisher,
604 uint8_t ident);
605
607 tinyxml2::XMLElement* elem,
608 SubscriberAttributes& subscriber,
609 uint8_t ident);
610};
611
612} // namespace xmlparser
613} // namespace fastrtps
614} // namespace eprosima
615
616#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:89
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 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 parseXMLProfiles(tinyxml2::XMLElement &profiles, up_base_node_t &root)
static RTPS_DllAPI XMLP_ret parseXMLUnionDynamicType(tinyxml2::XMLElement *p_root)
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 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 getXMLTransports(tinyxml2::XMLElement *elem, std::vector< std::shared_ptr< fastdds::rtps::TransportDescriptorInterface > > &transports, uint8_t ident)
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 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 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 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 getXMLLifespanQos(tinyxml2::XMLElement *elem, LifespanQosPolicy &lifespan, 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 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 parseXMLTopicData(tinyxml2::XMLElement *p_root, BaseNode &rootNode)
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 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 loadXMLProfiles(tinyxml2::XMLElement &profiles, up_base_node_t &root)
Load a XML node.
static RTPS_DllAPI XMLP_ret getXMLRemoteServer(tinyxml2::XMLElement *elem, eprosima::fastdds::rtps::RemoteServerAttributes &server, uint8_t ident)
uint32_t MemberId
Definition TypesBase.h:272
std::unique_ptr< node_publisher_t > up_node_publisher_t
Definition XMLParser.h:63
std::unique_ptr< node_subscriber_t > up_node_subscriber_t
Definition XMLParser.h:68
std::map< std::string, std::string > node_att_map_t
Definition XMLParser.h:46
DataNode< ReplierAttributes > node_replier_t
Definition XMLParser.h:81
DataNode< SubscriberAttributes > node_subscriber_t
Definition XMLParser.h:66
std::unique_ptr< ReplierAttributes > up_replier_t
Definition XMLParser.h:80
std::unique_ptr< SubscriberAttributes > up_subscriber_t
Definition XMLParser.h:65
node_publisher_t * p_node_publisher_t
Definition XMLParser.h:62
DataNode< TopicAttributes > node_topic_t
Definition XMLParser.h:71
std::map< std::string, sp_transport_t > sp_transport_map_t
Definition XMLParser.h:51
node_subscriber_t * p_node_subscriber_t
Definition XMLParser.h:67
std::shared_ptr< fastdds::rtps::TransportDescriptorInterface > sp_transport_t
Definition XMLParser.h:50
types::DynamicTypeBuilder * p_dynamictypebuilder_t
Definition XMLParser.h:52
std::unique_ptr< node_topic_t > up_node_topic_t
Definition XMLParser.h:73
DataNode< PublisherAttributes > node_publisher_t
Definition XMLParser.h:61
node_replier_t * p_node_replier_t
Definition XMLParser.h:82
std::unique_ptr< ParticipantAttributes > up_participant_t
Definition XMLParser.h:55
XMLP_ret
Enum class XMLP_ret, used to provide a strongly typed result from the operations within this module.
Definition XMLParserCommon.h:26
node_att_map_t::const_iterator node_att_map_cit_t
Definition XMLParser.h:48
std::unique_ptr< TopicAttributes > up_topic_t
Definition XMLParser.h:70
DataNode< RequesterAttributes > node_requester_t
Definition XMLParser.h:76
DataNode< ParticipantAttributes > node_participant_t
Definition XMLParser.h:56
std::map< std::string, p_dynamictypebuilder_t > p_dynamictype_map_t
Definition XMLParser.h:53
std::unique_ptr< node_requester_t > up_node_requester_t
Definition XMLParser.h:78
node_att_map_t::iterator node_att_map_it_t
Definition XMLParser.h:47
std::unique_ptr< RequesterAttributes > up_requester_t
Definition XMLParser.h:75
std::unique_ptr< BaseNode > up_base_node_t
Definition XMLParser.h:44
std::unique_ptr< node_participant_t > up_node_participant_t
Definition XMLParser.h:58
node_topic_t * p_node_topic_t
Definition XMLParser.h:72
std::vector< up_base_node_t > up_base_node_vector_t
Definition XMLParser.h:45
node_participant_t * p_node_participant_t
Definition XMLParser.h:57
node_requester_t * p_node_requester_t
Definition XMLParser.h:77
std::unique_ptr< PublisherAttributes > up_publisher_t
Definition XMLParser.h:60
std::unique_ptr< node_replier_t > up_node_replier_t
Definition XMLParser.h:83
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