Fast RTPS  Version 2.14.1
Fast RTPS
Loading...
Searching...
No Matches
XMLEndpointParser.h
1// Copyright 2016 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
20#ifndef XMLENDPOINTPARSER_H_
21#define XMLENDPOINTPARSER_H_
22#ifndef DOXYGEN_SHOULD_SKIP_THIS_PUBLIC
23
24#include <cstdint>
25#include <set>
26#include <string>
27#include <vector>
28
29#include <tinyxml2.h>
30
31#include <fastdds/rtps/builtin/data/ReaderProxyData.h>
32#include <fastdds/rtps/builtin/data/WriterProxyData.h>
33#include <fastrtps/xmlparser/XMLParserCommon.h>
34#include <fastrtps/xmlparser/XMLParser.h>
35
36namespace tinyxml2 {
37class XMLElement;
38class XMLDocument;
39} // namespace tinyxml2
40
41
42
43namespace eprosima {
44namespace fastrtps {
45namespace rtps {
46class ReaderProxyData;
47class WriterProxyData;
48} // namespace rtps
49
50namespace xmlparser {
51
57{
58public:
59
63
65 {
66 }
67
71 std::vector<rtps::ReaderProxyData*> m_readers;
73 std::vector<rtps::WriterProxyData*> m_writers;
74};
75
81{
82public:
83
93 std::string& filename);
100 tinyxml2::XMLDocument& doc);
101
103 tinyxml2::XMLElement* xml_endpoint,
105
113 tinyxml2::XMLElement* xml_endpoint,
122 tinyxml2::XMLElement* xml_endpoint,
132 const char* partname,
133 uint16_t id,
134 rtps::ReaderProxyData** rdataptr);
143 const char* partname,
144 uint16_t id,
145 rtps::WriterProxyData** wdataptr);
146
147private:
148
149 XMLP_ret get_disable_positive_acks_qos(
150 tinyxml2::XMLElement* elem,
151 DisablePositiveACKsQosPolicy& disable_positive_acks_qos);
152
153 std::set<int16_t> m_endpointIds;
154 std::set<uint32_t> m_entityIds;
155
156 std::vector<StaticRTPSParticipantInfo*> m_RTPSParticipants;
157};
158
159
160} /* xmlparser */
161} /* namespace */
162} /* namespace eprosima */
163
164#endif // ifndef DOXYGEN_SHOULD_SKIP_THIS_PUBLIC
165#endif /* XMLENDPOINTPARSER_H_ */
Class StaticRTPSParticipantInfo, contains the information of writers and readers loaded from the XML ...
Definition XMLEndpointParser.h:57
std::vector< rtps::ReaderProxyData * > m_readers
Vector of ReaderProxyData pointer.
Definition XMLEndpointParser.h:71
std::string m_RTPSParticipantName
RTPS PArticipant name.
Definition XMLEndpointParser.h:69
StaticRTPSParticipantInfo()
Definition XMLEndpointParser.h:60
std::vector< rtps::WriterProxyData * > m_writers
Vector of ReaderProxyData pointer.
Definition XMLEndpointParser.h:73
virtual ~StaticRTPSParticipantInfo()
Definition XMLEndpointParser.h:64
Class XMLEndpointParser used to parse the XML file that contains information about remote endpoints.
Definition XMLEndpointParser.h:81
void loadXMLParticipantEndpoint(tinyxml2::XMLElement *xml_endpoint, StaticRTPSParticipantInfo *pdata)
XMLP_ret loadXMLNode(tinyxml2::XMLDocument &doc)
Load the XML node.
XMLP_ret loadXMLFile(std::string &filename)
Load the XML file.
XMLP_ret loadXMLWriterEndpoint(tinyxml2::XMLElement *xml_endpoint, StaticRTPSParticipantInfo *pdata)
Load a Writer endpoint.
XMLP_ret lookforWriter(const char *partname, uint16_t id, rtps::WriterProxyData **wdataptr)
Look for a writer in the previously loaded endpoints.
XMLP_ret lookforReader(const char *partname, uint16_t id, rtps::ReaderProxyData **rdataptr)
Look for a reader in the previously loaded endpoints.
XMLP_ret loadXMLReaderEndpoint(tinyxml2::XMLElement *xml_endpoint, StaticRTPSParticipantInfo *pdata)
Load a Reader endpoint.
Class XMLParser, used to load XML data.
Definition XMLParser.h:102
XMLP_ret
Enum class XMLP_ret, used to provide a strongly typed result from the operations within this module.
Definition XMLParserCommon.h:27
fastdds::dds::DisablePositiveACKsQosPolicy DisablePositiveACKsQosPolicy
Definition QosPolicies.h:96
eProsima namespace.
Definition LibrarySettingsAttributes.h:23
Definition XMLEndpointParser.h:36