Fast RTPS  Version 2.4.0
Fast RTPS
XMLParserCommon.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_COMMON_H_
16 #define XML_PARSER_COMMON_H_
17 
18 namespace eprosima {
19 namespace fastrtps {
20 namespace xmlparser {
21 
22 #define draw(ident, text, ...) for (uint8_t i = ident + 1; i > 0; --i)(i == 1) ? printf(text, ## __VA_ARGS__) : printf( \
23  "\t")
24 
29 enum class XMLP_ret
30 {
31  XML_ERROR,
32  XML_OK,
33  XML_NOK
34 };
35 
36 
37 extern const char* DEFAULT_FASTRTPS_ENV_VARIABLE;
38 extern const char* DEFAULT_FASTRTPS_PROFILES;
39 
40 extern const char* ROOT;
41 extern const char* PROFILES;
42 extern const char* LIBRARY_SETTINGS;
43 extern const char* TRANSPORT_DESCRIPTORS;
44 extern const char* PROFILE_NAME;
45 extern const char* DEFAULT_PROF;
46 extern const char* PARTICIPANT;
47 extern const char* PUBLISHER;
48 extern const char* SUBSCRIBER;
49 extern const char* RTPS;
50 extern const char* TYPES;
51 extern const char* LOG;
52 extern const char* REQUESTER;
53 extern const char* REPLIER;
54 
55 extern const char* TRANSPORT_DESCRIPTOR;
56 extern const char* TRANSPORT_ID;
57 extern const char* UDP_OUTPUT_PORT;
58 extern const char* TCP_WAN_ADDR;
59 extern const char* RECEIVE_BUFFER_SIZE;
60 extern const char* SEND_BUFFER_SIZE;
61 extern const char* TTL;
62 extern const char* NON_BLOCKING_SEND;
63 extern const char* WHITE_LIST;
64 extern const char* MAX_MESSAGE_SIZE;
65 extern const char* MAX_INITIAL_PEERS_RANGE;
66 extern const char* KEEP_ALIVE_FREQUENCY;
67 extern const char* KEEP_ALIVE_TIMEOUT;
68 extern const char* MAX_LOGICAL_PORT;
69 extern const char* LOGICAL_PORT_RANGE;
70 extern const char* LOGICAL_PORT_INCREMENT;
71 extern const char* ENABLE_TCP_NODELAY;
72 extern const char* METADATA_LOGICAL_PORT;
73 extern const char* LISTENING_PORTS;
74 extern const char* CALCULATE_CRC;
75 extern const char* CHECK_CRC;
76 extern const char* SEGMENT_SIZE;
77 extern const char* PORT_QUEUE_CAPACITY;
78 extern const char* PORT_OVERFLOW_POLICY;
79 extern const char* SEGMENT_OVERFLOW_POLICY;
80 extern const char* HEALTHY_CHECK_TIMEOUT_MS;
81 extern const char* DISCARD;
82 extern const char* FAIL;
83 extern const char* RTPS_DUMP_FILE;
84 extern const char* ON;
85 
86 // IntraprocessDeliveryType
87 extern const char* OFF;
88 extern const char* USER_DATA_ONLY;
89 extern const char* FULL;
90 
91 extern const char* QOS_PROFILE;
92 extern const char* APPLICATION;
93 extern const char* TYPE;
94 // extern const char* TOPIC;
95 extern const char* DATA_WRITER;
96 extern const char* DATA_READER;
97 
99 extern const char* INTRAPROCESS_DELIVERY;
100 
102 extern const char* ALLOCATION;
103 extern const char* PREFIX;
104 extern const char* DEF_UNI_LOC_LIST;
105 extern const char* DEF_MULTI_LOC_LIST;
106 extern const char* SEND_SOCK_BUF_SIZE;
107 extern const char* LIST_SOCK_BUF_SIZE;
108 extern const char* BUILTIN;
109 extern const char* PORT;
110 extern const char* PORTS;
111 extern const char* LOGICAL_PORT;
112 extern const char* PHYSICAL_PORT;
113 extern const char* USER_DATA;
114 extern const char* PART_ID;
115 extern const char* IP4_TO_SEND;
116 extern const char* IP6_TO_SEND;
117 extern const char* THROUGHPUT_CONT;
118 extern const char* USER_TRANS;
119 extern const char* USE_BUILTIN_TRANS;
120 extern const char* PROPERTIES_POLICY;
121 extern const char* NAME;
122 extern const char* REMOTE_LOCATORS;
123 extern const char* MAX_UNICAST_LOCATORS;
124 extern const char* MAX_MULTICAST_LOCATORS;
125 extern const char* TOTAL_PARTICIPANTS;
126 extern const char* TOTAL_READERS;
127 extern const char* TOTAL_WRITERS;
128 extern const char* SEND_BUFFERS;
129 extern const char* PREALLOCATED_NUMBER;
130 extern const char* DYNAMIC_LC;
131 extern const char* MAX_PROPERTIES;
132 extern const char* MAX_USER_DATA;
133 extern const char* MAX_PARTITIONS;
134 
136 extern const char* TOPIC;
137 extern const char* QOS;
138 extern const char* TIMES;
139 extern const char* UNI_LOC_LIST;
140 extern const char* MULTI_LOC_LIST;
141 extern const char* REM_LOC_LIST;
142 //extern const char* THROUGHPUT_CONT;
143 extern const char* EXP_INLINE_QOS;
144 extern const char* HIST_MEM_POLICY;
145 //extern const char* PROPERTIES_POLICY;
146 extern const char* USER_DEF_ID;
147 extern const char* ENTITY_ID;
148 extern const char* MATCHED_SUBSCRIBERS_ALLOCATION;
149 extern const char* MATCHED_PUBLISHERS_ALLOCATION;
150 
152 extern const char* PROPERTIES;
153 extern const char* BIN_PROPERTIES;
154 extern const char* PROPERTY;
155 extern const char* VALUE;
156 extern const char* PROPAGATE;
157 extern const char* PREALLOCATED;
158 extern const char* PREALLOCATED_WITH_REALLOC;
159 extern const char* DYNAMIC;
160 extern const char* DYNAMIC_REUSABLE;
161 extern const char* LOCATOR;
162 extern const char* UDPv4_LOCATOR;
163 extern const char* UDPv6_LOCATOR;
164 extern const char* TCPv4_LOCATOR;
165 extern const char* TCPv6_LOCATOR;
166 extern const char* KIND;
167 extern const char* ADDRESS;
168 extern const char* UNIQUE_LAN_ID;
169 extern const char* WAN_ADDRESS;
170 extern const char* RESERVED;
171 extern const char* UDPv4;
172 extern const char* UDPv6;
173 extern const char* TCPv4;
174 extern const char* TCPv6;
175 extern const char* SHM;
176 extern const char* INIT_ACKNACK_DELAY;
177 extern const char* HEARTB_RESP_DELAY;
178 extern const char* INIT_HEARTB_DELAY;
179 extern const char* HEARTB_PERIOD;
180 extern const char* NACK_RESP_DELAY;
181 extern const char* NACK_SUPRESSION;
182 extern const char* BY_NAME;
183 extern const char* BY_VAL;
184 extern const char* DURATION_INFINITY;
185 extern const char* DURATION_INFINITE_SEC;
186 extern const char* DURATION_INFINITE_NSEC;
187 extern const char* SECONDS;
188 extern const char* NANOSECONDS;
189 extern const char* SHARED;
190 extern const char* EXCLUSIVE;
191 
193 extern const char* DURABILITY;
194 extern const char* DURABILITY_SRV;
195 extern const char* DEADLINE;
196 extern const char* LATENCY_BUDGET;
197 extern const char* LIVELINESS;
198 extern const char* RELIABILITY;
199 extern const char* LIFESPAN;
200 extern const char* TIME_FILTER;
201 extern const char* OWNERSHIP;
202 extern const char* OWNERSHIP_STRENGTH;
203 extern const char* DEST_ORDER;
204 extern const char* PRESENTATION;
205 extern const char* PARTITION;
206 extern const char* TOPIC_DATA;
207 extern const char* GROUP_DATA;
208 extern const char* PUB_MODE;
209 extern const char* DISABLE_POSITIVE_ACKS;
210 extern const char* DATA_SHARING;
211 
212 extern const char* SYNCHRONOUS;
213 extern const char* ASYNCHRONOUS;
214 extern const char* NAMES;
215 extern const char* INSTANCE;
216 extern const char* GROUP;
217 extern const char* COHERENT_ACCESS;
218 extern const char* ORDERED_ACCESS;
219 extern const char* BY_RECEPTION_TIMESTAMP;
220 extern const char* BY_SOURCE_TIMESTAMP;
221 extern const char* MIN_SEPARATION;
222 extern const char* DURATION;
223 extern const char* MAX_BLOCK_TIME;
224 extern const char* _BEST_EFFORT;
225 extern const char* _RELIABLE;
226 extern const char* AUTOMATIC;
227 extern const char* MANUAL_BY_PARTICIPANT;
228 extern const char* MANUAL_BY_TOPIC;
229 extern const char* LEASE_DURATION;
230 extern const char* ANNOUNCE_PERIOD;
231 extern const char* COUNT;
232 extern const char* PERIOD;
233 extern const char* SRV_CLEAN_DELAY;
234 extern const char* HISTORY_KIND;
235 extern const char* HISTORY_DEPTH;
236 extern const char* MAX_SAMPLES;
237 extern const char* MAX_INSTANCES;
238 extern const char* MAX_SAMPLES_INSTANCE;
239 extern const char* _VOLATILE;
240 extern const char* _TRANSIENT_LOCAL;
241 extern const char* _TRANSIENT;
242 extern const char* _PERSISTENT;
243 extern const char* KEEP_LAST;
244 extern const char* KEEP_ALL;
245 extern const char* _NO_KEY;
246 extern const char* _WITH_KEY;
247 extern const char* DATA_TYPE;
248 extern const char* HISTORY_QOS;
249 extern const char* RES_LIMITS_QOS;
250 extern const char* DEPTH;
251 extern const char* ALLOCATED_SAMPLES;
252 extern const char* EXTRA_SAMPLES;
253 extern const char* BYTES_PER_SECOND;
254 extern const char* PERIOD_MILLISECS;
255 extern const char* PORT_BASE;
256 extern const char* DOMAIN_ID_GAIN;
257 extern const char* PARTICIPANT_ID_GAIN;
258 extern const char* OFFSETD0;
259 extern const char* OFFSETD1;
260 extern const char* OFFSETD2;
261 extern const char* OFFSETD3;
262 extern const char* RTPS_PDP_TYPE;
263 extern const char* NONE;
264 extern const char* CLIENT;
265 extern const char* SERVER;
266 extern const char* BACKUP;
267 extern const char* SUPER_CLIENT;
268 extern const char* IGNORE_PARTICIPANT_FLAGS;
269 extern const char* FILTER_DIFFERENT_HOST;
270 extern const char* FILTER_DIFFERENT_PROCESS;
271 extern const char* FILTER_SAME_PROCESS;
272 extern const char* WRITER_LVESS_PROTOCOL;
273 extern const char* DISCOVERY_SETTINGS;
274 extern const char* _EDP;
275 extern const char* DOMAIN_ID;
276 extern const char* LEASEDURATION;
277 extern const char* LEASE_ANNOUNCE;
278 extern const char* INITIAL_ANNOUNCEMENTS;
279 extern const char* AVOID_BUILTIN_MULTICAST;
280 extern const char* SIMPLE_EDP;
281 extern const char* META_UNI_LOC_LIST;
282 extern const char* META_MULTI_LOC_LIST;
283 extern const char* INIT_PEERS_LIST;
284 extern const char* CLIENTANNOUNCEMENTPERIOD;
285 extern const char* SERVER_LIST;
286 extern const char* RSERVER;
287 extern const char* SIMPLE;
288 extern const char* STATIC;
289 extern const char* PUBWRITER_SUBREADER;
290 extern const char* PUBREADER_SUBWRITER;
291 extern const char* STATIC_ENDPOINT_XML;
292 extern const char* STATIC_ENDPOINT_XML_URI;
293 extern const char* READER_HIST_MEM_POLICY;
294 extern const char* WRITER_HIST_MEM_POLICY;
295 extern const char* READER_PAYLOAD_SIZE;
296 extern const char* WRITER_PAYLOAD_SIZE;
297 extern const char* MUTATION_TRIES;
298 extern const char* ACCESS_SCOPE;
299 extern const char* ENABLED;
300 extern const char* DOMAIN_IDS;
301 extern const char* SHARED_DIR;
302 extern const char* MAX_DOMAINS;
303 
304 // Endpoint parser
305 extern const char* STATICDISCOVERY;
306 extern const char* READER;
307 extern const char* WRITER;
308 extern const char* USER_ID;
309 extern const char* EXPECT_INLINE_QOS;
310 extern const char* TOPIC_NAME;
311 extern const char* TOPIC_DATA_TYPE;
312 extern const char* TOPIC_KIND;
313 extern const char* RELIABILITY_QOS;
314 extern const char* UNICAST_LOCATOR;
315 extern const char* MULTICAST_LOCATOR;
316 extern const char* _RELIABLE_RELIABILITY_QOS;
317 extern const char* _BEST_EFFORT_RELIABILITY_QOS;
318 extern const char* DURABILITY_QOS;
319 extern const char* _PERSISTENT_DURABILITY_QOS;
320 extern const char* _TRANSIENT_DURABILITY_QOS;
321 extern const char* _TRANSIENT_LOCAL_DURABILITY_QOS;
322 extern const char* _VOLATILE_DURABILITY_QOS;
323 extern const char* OWNERSHIP_QOS;
324 extern const char* OWNERSHIP_KIND_NOT_PRESENT;
325 extern const char* _SHARED_OWNERSHIP_QOS;
326 extern const char* _EXCLUSIVE_OWNERSHIP_QOS;
327 extern const char* PARTITION_QOS;
328 extern const char* LIVELINESS_QOS;
329 extern const char* LIVELINESS_KIND_NOT_PRESENT;
330 extern const char* _AUTOMATIC_LIVELINESS_QOS;
331 extern const char* _MANUAL_BY_PARTICIPANT_LIVELINESS_QOS;
332 extern const char* _MANUAL_BY_TOPIC_LIVELINESS_QOS;
333 extern const char* LEASE_DURATION_MS;
334 extern const char* _INF;
335 extern const char* EPROSIMA_UNKNOWN_STRING;
337 extern const char* _VOLATILE_DURABILITY_QOS;
338 extern const char* STRENGTH;
339 
340 // TYPES parser
341 extern const char* BOOLEAN;
342 extern const char* CHAR;
343 extern const char* WCHAR;
344 extern const char* TBYTE;
345 extern const char* OCTET;
346 extern const char* UINT8;
347 extern const char* INT8;
348 extern const char* SHORT;
349 extern const char* LONG;
350 extern const char* USHORT;
351 extern const char* ULONG;
352 extern const char* LONGLONG;
353 extern const char* ULONGLONG;
354 extern const char* FLOAT;
355 extern const char* DOUBLE;
356 extern const char* LONGDOUBLE;
357 extern const char* STRING;
358 extern const char* WSTRING;
359 extern const char* LITERAL;
360 extern const char* STRUCT;
361 extern const char* UNION;
362 extern const char* SEQUENCE;
363 extern const char* MAP;
364 extern const char* TYPEDEF;
365 extern const char* BITSET;
366 extern const char* BITMASK;
367 extern const char* ENUM;
368 extern const char* CASE;
369 extern const char* DEFAULT;
370 extern const char* DISCRIMINATOR;
371 extern const char* CASE_DISCRIMINATOR;
372 extern const char* ARRAY_DIMENSIONS;
373 extern const char* STR_MAXLENGTH;
374 extern const char* SEQ_MAXLENGTH;
375 extern const char* MAP_MAXLENGTH;
376 extern const char* MAP_KEY_TYPE;
377 extern const char* ENUMERATOR;
378 extern const char* NON_BASIC_TYPE;
379 extern const char* NON_BASIC_TYPE_NAME;
380 extern const char* KEY;
381 extern const char* MEMBER;
382 extern const char* BITFIELD;
383 extern const char* BIT_VALUE;
384 extern const char* POSITION;
385 extern const char* BIT_BOUND;
386 extern const char* BASE_TYPE;
387 
388 // LOG
389 extern const char* USE_DEFAULT;
390 extern const char* CONSUMER;
391 extern const char* CLASS;
392 
393 // Allocation config
394 extern const char* INITIAL;
395 extern const char* MAXIMUM;
396 extern const char* INCREMENT;
397 
398 // TLS Config
399 extern const char* TLS;
400 extern const char* TLS_PASSWORD;
401 extern const char* TLS_OPTIONS;
402 extern const char* TLS_CERT_CHAIN_FILE;
403 extern const char* TLS_PRIVATE_KEY_FILE;
404 extern const char* TLS_TMP_DH_FILE;
405 extern const char* TLS_VERIFY_FILE;
406 extern const char* TLS_VERIFY_MODE;
407 extern const char* TLS_VERIFY_PATHS;
408 extern const char* TLS_DEFAULT_VERIFY_PATH;
409 extern const char* TLS_VERIFY_DEPTH;
410 extern const char* TLS_RSA_PRIVATE_KEY_FILE;
411 extern const char* TLS_HANDSHAKE_ROLE;
412 
413 // TLS HandShake Role
414 extern const char* TLS_HANDSHAKE_ROLE_DEFAULT;
415 extern const char* TLS_HANDSHAKE_ROLE_CLIENT;
416 extern const char* TLS_HANDSHAKE_ROLE_SERVER;
417 
418 // TLS Verify Stuff
419 extern const char* TLS_VERIFY_PATH;
420 extern const char* TLS_VERIFY;
421 
422 // TLS Options
423 extern const char* TLS_OPTION;
424 extern const char* TLS_DEFAULT_WORKAROUNDS;
425 extern const char* TLS_NO_COMPRESSION;
426 extern const char* TLS_NO_SSLV2;
427 extern const char* TLS_NO_SSLV3;
428 extern const char* TLS_NO_TLSV1;
429 extern const char* TLS_NO_TLSV1_1;
430 extern const char* TLS_NO_TLSV1_2;
431 extern const char* TLS_NO_TLSV1_3;
432 extern const char* TLS_SINGLE_DH_USE;
433 
434 // TLS Verify Mode
435 extern const char* TLS_VERIFY_NONE;
436 extern const char* TLS_VERIFY_PEER;
437 extern const char* TLS_VERIFY_FAIL_IF_NO_PEER_CERT;
438 extern const char* TLS_VERIFY_CLIENT_ONCE;
439 
440 // Requester and Replier
441 extern const char* SERVICE_NAME;
442 extern const char* REQUEST_TYPE;
443 extern const char* REPLY_TYPE;
444 extern const char* REQUEST_TOPIC_NAME;
445 extern const char* REPLY_TOPIC_NAME;
446 
447 } /* xmlparser */
448 } /* namespace */
449 } /* namespace eprosima */
450 
451 #endif // ifndef XML_PARSER_COMMON_H_
const char * _VOLATILE_DURABILITY_QOS
Definition: XMLParserCommon.h:337
const char * TLS_HANDSHAKE_ROLE_DEFAULT
const char * _MANUAL_BY_TOPIC_LIVELINESS_QOS
const char * _EXCLUSIVE_OWNERSHIP_QOS
const char * TLS_HANDSHAKE_ROLE_SERVER
const char * TLS_VERIFY_FAIL_IF_NO_PEER_CERT
const char * LIVELINESS_KIND_NOT_PRESENT
const char * OWNERSHIP_KIND_NOT_PRESENT
const char * TLS_DEFAULT_VERIFY_PATH
const char * TOPIC
Publisher-subscriber attributes.
const char * SEGMENT_OVERFLOW_POLICY
const char * _RELIABLE_RELIABILITY_QOS
const char * _PERSISTENT_DURABILITY_QOS
const char * PREALLOCATED_WITH_REALLOC
XMLP_ret
Enum class XMLP_ret, used to provide a strongly typed result from the operations within this module.
Definition: XMLParserCommon.h:30
const char * ALLOCATION
RTPS Participant attributes.
const char * STATIC_ENDPOINT_XML_URI
const char * CLIENTANNOUNCEMENTPERIOD
const char * _AUTOMATIC_LIVELINESS_QOS
const char * IGNORE_PARTICIPANT_FLAGS
const char * HEALTHY_CHECK_TIMEOUT_MS
const char * TLS_RSA_PRIVATE_KEY_FILE
const char * _TRANSIENT_LOCAL_DURABILITY_QOS
Definition: XMLParserCommon.h:336
const char * EPROSIMA_UNKNOWN_STRING
const char * TLS_DEFAULT_WORKAROUNDS
const char * MATCHED_SUBSCRIBERS_ALLOCATION
const char * MAX_INITIAL_PEERS_RANGE
const char * DEFAULT_FASTRTPS_ENV_VARIABLE
const char * INTRAPROCESS_DELIVERY
LibrarySettings attributes.
const char * MATCHED_PUBLISHERS_ALLOCATION
const char * TLS_HANDSHAKE_ROLE_CLIENT
const char * _BEST_EFFORT_RELIABILITY_QOS
const char * _MANUAL_BY_PARTICIPANT_LIVELINESS_QOS
const char * _TRANSIENT_DURABILITY_QOS
const char * FILTER_DIFFERENT_PROCESS
const char * AVOID_BUILTIN_MULTICAST
const char * DEFAULT_FASTRTPS_PROFILES
eProsima namespace.
Definition: LibrarySettingsAttributes.h:23