RTI Routing Service Version 7.4.0
routingservice_infrastructure.h
Go to the documentation of this file.
1/*
2 * (c) Copyright, Real-Time Innovations, 2002-2024.
3 * All rights reserved.
4 *
5 * No duplications, whole or partial, manual or electronic, may be made
6 * without express written permission. Any such copies, or
7 * revisions thereof, must display this notice unaltered.
8 * This code contains trade secrets of Real-Time Innovations, Inc.
9 */
10
11#ifndef routingservice_infrastructure_h
12#define routingservice_infrastructure_h
13
14#include "routingservice/routingservice_dll.h"
15#include "dds_c/dds_c_infrastructure.h"
16
17#ifdef __cplusplus
18 extern "C" {
19#endif
20
21/*e \file
22 @brief RTI Routing Service Infrastructure
23*/
24
25/*e
26 @ingroup RTI_RoutingServiceInfrastructureModule
27
28 @brief Utility macro that can be used to export symbols in a shared library
29 on Windows platform.
30 For non-windows, the definion of this macro is empty.
31*/
32
33#if (defined(RTI_WIN32) || defined(RTI_INTIME))
34 #undef RTI_USER_DLL_EXPORT
35 #define RTI_USER_DLL_EXPORT __declspec(dllexport)
36#else
37 #define RTI_USER_DLL_EXPORT
38#endif
39
40#define RTI_ROUTING_SERVICE_VERSION {7,4,0,0}
41
42/*e \ingroup RTI_RoutingServiceInfrastructureModule
43 * @brief This can be used by C client and example code to avoid unused
44 * parameter warnings in the compiler.
45 * This is not strictly necessary in C++, where just removing the parameter name
46 * should yield the same result.
47 */
48#define RTI_UNUSED_PARAMETER(x) (void)(x)
49
50/*****************************************************************************/
51/* Properties */
52/*****************************************************************************/
53
54/*e \ingroup RTI_RoutingServiceInfrastructureModule
55 *
56 * @brief Configuration property.
57 *
58 * A property is a name/value pair.
59 *
60 */
62 /*e @brief Property name */
63 char * name;
64 /*e @brief Property value */
65 void * value;
66};
67
68/*e \ingroup RTI_RoutingServiceInfrastructureModule
69 *
70 * @brief Set of configuration properties.
71 *
72 * Configuration properties for adapters and transformations.
73 */
75 /*e @brief Array of configuration properties. */
77 /*e @brief Number of properties in the array. */
78 int count;
79 /*e @brief A non-zero value indicates that all the values of the
80 properties are strings (char *) */
81 DDS_Boolean string_values;
82};
83
84/*e \ingroup RTI_RoutingServiceInfrastructureModule
85 *
86 * @brief Searches for a property given its name.
87 *
88 * @param_self
89 * @param name \rs_st_in Property name. Cannot be NULL.
90 *
91 * @return On success, the function returns the value of the first property
92 * with the given name. Otherwise, the function returns NULL.
93 */
94extern ROUTERDllExport
96 const struct RTI_RoutingServiceProperties * self,
97 const char * name);
98
99extern ROUTERDllExport
100const char * RTI_RoutingServiceProperties_lookup_property_with_prefix(
101 const struct RTI_RoutingServiceProperties * self,
102 const char *prefix,
103 const char *name);
104
105extern ROUTERDllExport
106DDS_Boolean RTI_RoutingServiceProperties_add(
107 struct RTI_RoutingServiceProperties *self,
108 const char *name,
109 const char *value);
110
111extern ROUTERDllExport
112DDS_Boolean RTI_RoutingServiceProperties_assert(
113 struct RTI_RoutingServiceProperties *self,
114 const char *name,
115 const char *value);
116
117extern ROUTERDllExport
118DDS_Boolean RTI_RoutingServiceProperties_equals(
119 const struct RTI_RoutingServiceProperties *left,
120 const struct RTI_RoutingServiceProperties *right);
121
122extern ROUTERDllExport
123const struct RTI_RoutingServiceProperties *
124RTI_RoutingServiceProperties_copy(
125 struct RTI_RoutingServiceProperties *self,
126 const struct RTI_RoutingServiceProperties *other);
127
128extern ROUTERDllExport
129void RTI_RoutingServiceProperties_finalize(
130 struct RTI_RoutingServiceProperties *self);
131
132extern ROUTERDllExport
133DDS_Boolean RTI_RoutingServiceProperties_initialize(
134 struct RTI_RoutingServiceProperties *self);
135
136/*****************************************************************************/
137/* Environment */
138/*****************************************************************************/
139
140/*e \defgroup RTI_RoutingServiceErrorCodeModule Standard Error Codes
141 * \ingroup RTI_RoutingServiceInfrastructureModule
142 * @brief Standard error codes.
143 */
144#define RTI_ROUTING_SERVICE_OK 0
145
146/*e \ingroup RTI_RoutingServiceErrorCodeModule
147 *
148 * @brief Generic, unspecified error.
149 * @hideinitializer
150 */
151#define RTI_ROUTING_SERVICE_ERROR 1
152
153/*e \ingroup RTI_RoutingServiceInfrastructureModule
154 * @brief Maximum length of an error message.
155 *
156 * Error messages longer than this value are truncated.
157 */
158#define RTI_ROUTING_SERVICE_ERROR_MAX_LENGTH 1024
159
160struct RTI_RoutingServiceEnvironmentImpl;
161
162/*e \ingroup RTI_RoutingServiceInfrastructureModule
163 *
164 * @brief The environment permits the return of error information in the \product API and
165 * information retreival (version and verbosity).
166 *
167 * This is the last parameter of each operation.
168 *
169 * \see \ref RTI_RoutingServiceEnvironment_set_error
170 * \see \ref RTI_RoutingServiceEnvironment_get_verbosity
171 *
172 */
173typedef struct RTI_RoutingServiceEnvironmentImpl RTI_RoutingServiceEnvironment;
174
175/*e \ingroup RTI_RoutingServiceInfrastructureModule
176 *
177 * @brief Represents the version of a plugin or \product itself
178 *
179 */
181 /*e
182 * @brief Major version number
183 */
184 int major;
185 /*e
186 * @brief Minor version number
187 */
188 int minor;
189 /*e
190 * @brief Release version number
191 */
193 /*e
194 * @brief Revision of a release
195 */
197};
198
199/*e \ingroup RTI_RoutingServiceInfrastructureModule
200 *
201 * @brief Verbosity used by Routing Service
202 *
203 */
204typedef enum {
205 /*e
206 * No logging (-verbosity 0)
207 */
209 /*e
210 * Exceptions (-verbosity 1)
211 */
213 /*e
214 * Warnings (-verbosity 2)
215 */
217 /*e
218 * Information (-verbosity 3)
219 */
221 /*e
222 * Debug information (-verbosity 5 and 6)
223 */
226
227/*e \ingroup RTI_RoutingServiceInfrastructureModule
228 *
229 * @brief Assigns an error into the environment.
230 *
231 * Routing Service will consider that a function call failed when an error has been
232 * set into the environment
233 *
234 * @param_self
235 * @param overwrite \rs_st_in If the environment already contains an error, setting
236 * this parameter to 1 will overwrite it.
237 * @param error_code \rs_st_in One of the \ref RTI_RoutingServiceErrorCodeModule.
238 * @param native_error_code \rs_st_in Native error code (specific to the transformation or
239 * adapter plugin).
240 * @param error_format \rs_st_in String that contains the error text.
241 * It can optionally contain format tags that are substituted by the values
242 * specified in subsequent argument(s). Cannot be NULL.
243 * The format tags are the same tags used by the function printf in the ANSI C standard.
244 *
245 * @see \ref RTI_RoutingServiceEnvironment_set_error
246 */
249 int overwrite,
250 int error_code,
251 int native_error_code,
252 const char *error_format,
253 ...);
254
255/*e \ingroup RTI_RoutingServiceInfrastructureModule
256 *
257 * @brief Assigns an error into the environment.
258 *
259 * Routing Service will consider that a function call failed when an error has been
260 * set into the environment
261 *
262 * This function sets the error code to \ref RTI_ROUTING_SERVICE_ERROR and the
263 * native error code to 0.
264 *
265 * If the environment already contains an error, the error is not overwritten.
266 *
267 * @param_self
268 * @param error_format \rs_st_in String that contains the error text.
269 * It can optionally contain format tags that are substituted by the values
270 * specified in subsequent argument(s). Cannot be NULL.
271 * The format tags are the same tags used by the function printf in the ANSI C standard.
272 *
273 * @see \ref RTI_RoutingServiceEnvironment_set_error_w_params
274 */
275extern ROUTERDllExport void RTI_RoutingServiceEnvironment_set_error(
277 const char *error_format,
278 ...);
279
280/*e \ingroup RTI_RoutingServiceInfrastructureModule
281 *
282 * @brief Clears an error (if any) set in this environment
283 *
284 * @param_self
285 */
288
289/*e \ingroup RTI_RoutingServiceInfrastructureModule
290 *
291 * @brief Retrieves the verbosity that Routing Service is using
292 *
293 * @param_self
294 * @return The verbosity
295 */
296extern ROUTERDllExport RTI_RoutingServiceVerbosity
299
300/*e \ingroup RTI_RoutingServiceInfrastructureModule
301 *
302 * @brief Checks whether an error has been set in this environment
303 *
304 * @param_self
305 *
306 * @return A value different than zero if true
307 */
308extern ROUTERDllExport DDS_Boolean RTI_RoutingServiceEnvironment_error_occurred(
310
311/*e \ingroup RTI_RoutingServiceInfrastructureModule
312 *
313 * @brief Returns the error message this environment contains
314 *
315 * @param_self
316 *
317 * @return The error message or NULL if no error is set
318 */
319extern ROUTERDllExport const char *
322
323/*i \ingroup RTI_RoutingServiceInfrastructureModule
324 *
325 * @brief Returns the underlying native code associated to the last error
326 * this environment contains.
327 *
328 * The value is specific to the plug-in implementation that sets the native
329 * code with RTI_RoutingServiceEnvironment_set_error_w_params.
330 *
331 * @param_self
332 *
333 * @return The native error code.
334 */
335extern ROUTERDllExport int RTI_RoutingServiceEnvironment_get_native_code(
337
338extern ROUTERDllExport
339int RTI_RoutingServiceVersion_compare(
340 const struct RTI_RoutingServiceVersion *left,
341 const struct RTI_RoutingServiceVersion *right);
342
343/*****************************************************************************/
344/* Type information */
345/*****************************************************************************/
346
347/*e
348 * \dref_DYNAMIC_TYPE_REPRESENTATION
349 */
350#define RTI_ROUTING_SERVICE_TYPE_REPRESENTATION_DYNAMIC_TYPE 0
351
352/*e
353 * \dref_XML_TYPE_REPRESENTATION
354 */
355#define RTI_ROUTING_SERVICE_TYPE_REPRESENTATION_XML 1
356
357/*e
358 * \dref_JAVA_OBJECT_TYPE_REPRESENTATION
359 */
360#define RTI_ROUTING_SERVICE_TYPE_REPRESENTATION_JAVA_OBJECT 2
361
362#define RTI_ROUTING_SERVICE_TYPE_REPRESENTATION_FIRST_CUSTOM_REPRESENTATION 100
363
364/*e
365 * \dref_DYNAMIC_DATA_REPRESENTATION
366 */
367#define RTI_ROUTING_SERVICE_DATA_REPRESENTATION_DYNAMIC_DATA 0
368
369/*e
370 * \dref_XML_DATA_REPRESENTATION
371 */
372#define RTI_ROUTING_SERVICE_DATA_REPRESENTATION_XML 1
373
374/*e
375 * \dref_JAVA_OBJECT_DATA_REPRESENTATION
376 */
377#define RTI_ROUTING_SERVICE_DATA_REPRESENTATION_JAVA_OBJECT 2
378
379#define RTI_ROUTING_SERVICE_DATA_REPRESENTATION_FIRST_CUSTOM_REPRESENTATION 100
380
381/*e \ingroup RTI_RoutingServiceInfrastructureModule
382 * @brief Type representation kind.
383 *
384 * The range [0-100] is reserved for RTI use. Within
385 * that range are some predefined type representations (\ref RTI_RoutingServiceTypeRepresentationModule).
386 *
387 */
389
390/*e \ingroup RTI_RoutingServiceInfrastructureModule
391 *
392 * @brief Type representation.
393 *
394 * If the representation kind is \ref RTI_ROUTING_SERVICE_TYPE_REPRESENTATION_DYNAMIC_TYPE,
395 * the representation will be an \ndds TypeCode.
396 *
397 * If the representation kind is \ref RTI_ROUTING_SERVICE_TYPE_REPRESENTATION_XML,
398 * the representation will be an XML string.
399 */
401
402/*e \dref_TypeInfo
403 */
405 /*e \dref_TypeInfo_type_name */
406 char * type_name;
407 /*e \dref_TypeInfo_representation_kind */
409 /*e \dref_TypeInfo_type_representation */
411};
412
413/*e \ingroup RTI_RoutingServiceInfrastructureModule
414 * @brief Data representation kind.
415 *
416 * The range [0-100] is reserved for RTI use. Within
417 * that range are some predefined data representations (\ref RTI_RoutingServiceDataRepresentationModule).
418 *
419 */
421
422/*****************************************************************************/
423/* Sample and sample information */
424/*****************************************************************************/
425
426/*e \ingroup RTI_RoutingServiceInfrastructureModule
427 *
428 * @brief Stream sample.
429 *
430 * Samples are data messages generated by adapters and transformations.
431 *
432 * If the representation kind is \ref RTI_ROUTING_SERVICE_DATA_REPRESENTATION_DYNAMIC_DATA,
433 * the sample will be a DynamicData object.
434 *
435 * If the representation kind is \ref RTI_ROUTING_SERVICE_DATA_REPRESENTATION_XML,
436 * the sample will be an XML string.
437 *
438 */
440
441/*e
442 * \ingroup RTI_RoutingServiceInfrastructureModule
443 * @brief Stream sample info.
444 * In DDS, this is a DDS_SampleInfo object.
445 */
447
448/*e
449 * \ingroup RTI_RoutingServiceInfrastructureModule
450 * @brief Definition of a String sequence
451 */
453 /*e @brief Array of elements. */
455 /*e @brief Number of elements in the array. */
457 /*e @brief maximum capacity of the array. */
459};
460
461
462#define RTI_RoutingServiceStringSeq_INITIALIZER \
463 {NULL, 0, 0}
464
465extern ROUTERDllExport
467RTI_RoutingServiceStringSeq_copy(
468 struct RTI_RoutingServiceStringSeq *self,
469 struct RTI_RoutingServiceStringSeq *other);
470
471/*****************************************************************************/
472/* Stream information */
473/*****************************************************************************/
474
475/*e
476 * \dref_StreamInfo
477 */
479 /*e
480 * \dref_StreamInfo_stream_name
481 */
483 /*e
484 * \dref_StreamInfo_type_info
485 */
487 /*i
488 *
489 * @brief Internal use only
490 */
491 struct RTI_RoutingServiceStringSeq partition;
492 /*e
493 * \dref_StreamInfo_disposed
494 */
495 DDS_Boolean disposed;
496};
497
498
499#define RTI_RoutingServiceStreamInfo_INITIALIZER {\
500 NULL, \
501 {NULL, 0, NULL},\
502 RTI_RoutingServiceStringSeq_INITIALIZER, \
503 DDS_BOOLEAN_FALSE \
504}
505
506extern ROUTERDllExport void RTI_RoutingServiceStreamInfo_finalize(
507 struct RTI_RoutingServiceStreamInfo *self);
508
509extern ROUTERDllExport DDS_Boolean RTI_RoutingServiceStreamInfo_initialize(
510 struct RTI_RoutingServiceStreamInfo *self,
511 DDS_Boolean is_disposed_stream,
512 const char *stream_name,
513 const char *registered_type_name,
514 int type_dfinition_format,
516
517/*e
518 * \ingroup RTI_RoutingServiceInfrastructureModule
519 *
520 * @brief Creates a stream info for a newly discovered stream.
521 *
522 * @param stream_name \rs_st_in Stream name. Cannot be NULL.
523 * @param registered_type_name \rs_st_in Type name. Cannot be NULL.
524 * @param type_representation_kind \rs_st_in Type representation kind.
525 * @param type_representation \rs_st_in Type representation. Cannot be NULL.
526 *
527 * @return Newly created stream info, or NULL if there is an error.
528 */
529extern ROUTERDllExport struct RTI_RoutingServiceStreamInfo *
531 const char *stream_name,
532 const char *registered_type_name,
533 RTI_RoutingServiceTypeRepresentationKind type_representation_kind,
534 RTI_RoutingServiceTypeRepresentation type_representation);
535
536/*e
537 * \ingroup RTI_RoutingServiceInfrastructureModule
538 * @brief Creates a stream info for a disposed stream.
539 * Disposed streams are no longer available in a data domain.
540 * @param stream_name \rs_st_in Stream name. Cannot be NULL.
541 * @return Newly created stream info, or NULL if there is an error.
542 */
543extern ROUTERDllExport struct RTI_RoutingServiceStreamInfo *
545
546/*e \ingroup RTI_RoutingServiceInfrastructureModule
547 *
548 * @brief Destroys a stream info.
549 *
550 * @param_self
551 */
552extern ROUTERDllExport
554 struct RTI_RoutingServiceStreamInfo * self);
555
556
557#define RTI_ROUTING_SERVICE_PROPERTY_PREFIX \
558 "rti.routing_service"
559
560/*e \ingroup RTI_RoutingServiceInfrastructureModule
561 *
562 * @brief Name of the property that provides the @product given application name
563 *
564 */
565#define RTI_ROUTING_SERVICE_APP_NAME_PROPERTY_NAME \
566 RTI_ROUTING_SERVICE_PROPERTY_PREFIX".app_name"
567
568/*e \ingroup RTI_RoutingServiceInfrastructureModule
569 *
570 * Name of the property that provides the configured group name.
571 *
572 */
573#define RTI_ROUTING_SERVICE_GROUP_PROPERTY_NAME \
574 RTI_ROUTING_SERVICE_PROPERTY_PREFIX".group_name"
575
576/*e \ingroup RTI_RoutingServiceInfrastructureModule
577 *
578 * @brief Name of the property that provides the @product version as string.
579 *
580 */
581#define RTI_ROUTING_SERVICE_VERSION_PROPERTY_NAME \
582 RTI_ROUTING_SERVICE_PROPERTY_PREFIX".version"
583
584/*e \ingroup RTI_RoutingServiceInfrastructureModule
585 *
586 * @brief Name of the property that provides verbosity in use by @product.
587 *
588 * It can take on of the following stings:
589 * - NONE
590 * - EXCEPTION
591 * - WARN
592 * - INFO
593 * - DEBUG.
594 *
595 */
596#define RTI_ROUTING_SERVICE_VERBOSITY_PROPERTY_NAME \
597 RTI_ROUTING_SERVICE_PROPERTY_PREFIX".verbosity"
598
599/*e \ingroup RTI_RoutingServiceInfrastructureModule
600 *
601 * @brief Name of the property that provides the resource name of the entity
602 * that owns the adapter entity.
603 *
604 */
605#define RTI_ROUTING_SERVICE_ENTITY_RESOURCE_NAME_PROPERTY_NAME \
606 RTI_ROUTING_SERVICE_PROPERTY_PREFIX".entity.resource_name"
607
608#ifdef __cplusplus
609} /* extern "C" */
610#endif
611
612#endif /* routingservice_infrastructure_h */
RTI_RoutingServiceVerbosity RTI_RoutingServiceEnvironment_get_verbosity(const RTI_RoutingServiceEnvironment *self)
Retrieves the verbosity that Routing Service is using.
const char * RTI_RoutingServiceEnvironment_get_error_message(const RTI_RoutingServiceEnvironment *self)
Returns the error message this environment contains.
struct RTI_RoutingServiceEnvironmentImpl RTI_RoutingServiceEnvironment
The environment permits the return of error information in the RTI Routing Service API and informatio...
Definition: routingservice_infrastructure.h:173
int RTI_RoutingServiceTypeRepresentationKind
Type representation kind.
Definition: routingservice_infrastructure.h:388
RTI_RoutingServiceVerbosity
Verbosity used by Routing Service.
Definition: routingservice_infrastructure.h:204
void RTI_RoutingServiceEnvironment_set_error_w_params(RTI_RoutingServiceEnvironment *self, int overwrite, int error_code, int native_error_code, const char *error_format,...)
Assigns an error into the environment.
struct RTI_RoutingServiceStreamInfo * RTI_RoutingServiceStreamInfo_new_disposed(const char *stream_name)
Creates a stream info for a disposed stream. Disposed streams are no longer available in a data domai...
int RTI_RoutingServiceDataRepresentationKind
Data representation kind.
Definition: routingservice_infrastructure.h:420
void RTI_RoutingServiceEnvironment_set_error(RTI_RoutingServiceEnvironment *self, const char *error_format,...)
Assigns an error into the environment.
struct RTI_RoutingServiceStreamInfo * RTI_RoutingServiceStreamInfo_new_discovered(const char *stream_name, const char *registered_type_name, RTI_RoutingServiceTypeRepresentationKind type_representation_kind, RTI_RoutingServiceTypeRepresentation type_representation)
Creates a stream info for a newly discovered stream.
void RTI_RoutingServiceEnvironment_clear_error(RTI_RoutingServiceEnvironment *self)
Clears an error (if any) set in this environment.
void * RTI_RoutingServiceTypeRepresentation
Type representation.
Definition: routingservice_infrastructure.h:400
const char * RTI_RoutingServiceProperties_lookup_property(const struct RTI_RoutingServiceProperties *self, const char *name)
Searches for a property given its name.
DDS_Boolean RTI_RoutingServiceEnvironment_error_occurred(const RTI_RoutingServiceEnvironment *self)
Checks whether an error has been set in this environment.
void * RTI_RoutingServiceSample
Stream sample.
Definition: routingservice_infrastructure.h:439
void * RTI_RoutingServiceSampleInfo
Stream sample info. In DDS, this is a DDS_SampleInfo object.
Definition: routingservice_infrastructure.h:446
void RTI_RoutingServiceStreamInfo_delete(struct RTI_RoutingServiceStreamInfo *self)
Destroys a stream info.
@ RTI_ROUTING_SERVICE_VERBOSITY_WARN
Definition: routingservice_infrastructure.h:216
@ RTI_ROUTING_SERVICE_VERBOSITY_DEBUG
Definition: routingservice_infrastructure.h:224
@ RTI_ROUTING_SERVICE_VERBOSITY_EXCEPTION
Definition: routingservice_infrastructure.h:212
@ RTI_ROUTING_SERVICE_VERBOSITY_NONE
Definition: routingservice_infrastructure.h:208
@ RTI_ROUTING_SERVICE_VERBOSITY_INFO
Definition: routingservice_infrastructure.h:220
Configuration property.
Definition: routingservice_infrastructure.h:61
char * name
Property name.
Definition: routingservice_infrastructure.h:63
void * value
Property value.
Definition: routingservice_infrastructure.h:65
Set of configuration properties.
Definition: routingservice_infrastructure.h:74
int count
Number of properties in the array.
Definition: routingservice_infrastructure.h:78
struct RTI_RoutingServiceNameValue * properties
Array of configuration properties.
Definition: routingservice_infrastructure.h:76
DDS_Boolean string_values
A non-zero value indicates that all the values of the properties are strings (char *)
Definition: routingservice_infrastructure.h:81
Stream information.
Definition: routingservice_infrastructure.h:478
char * stream_name
The stream name.
Definition: routingservice_infrastructure.h:482
DDS_Boolean disposed
Indicates whether the stream is a newly discovered stream or a disposed stream that no longer exists.
Definition: routingservice_infrastructure.h:495
struct RTI_RoutingServiceTypeInfo type_info
The type information associated with the stream.
Definition: routingservice_infrastructure.h:486
Definition of a String sequence.
Definition: routingservice_infrastructure.h:452
int element_count_max
maximum capacity of the array.
Definition: routingservice_infrastructure.h:458
int element_count
Number of elements in the array.
Definition: routingservice_infrastructure.h:456
char ** element_array
Array of elements.
Definition: routingservice_infrastructure.h:454
Type information.
Definition: routingservice_infrastructure.h:404
RTI_RoutingServiceTypeRepresentationKind type_representation_kind
The representation kind.
Definition: routingservice_infrastructure.h:408
RTI_RoutingServiceTypeRepresentation type_representation
The type representation.
Definition: routingservice_infrastructure.h:410
char * type_name
The registered type name.
Definition: routingservice_infrastructure.h:406
Represents the version of a plugin or RTI Routing Service itself.
Definition: routingservice_infrastructure.h:180
int minor
Minor version number.
Definition: routingservice_infrastructure.h:188
int revision
Revision of a release.
Definition: routingservice_infrastructure.h:196
int release
Release version number.
Definition: routingservice_infrastructure.h:192
int major
Major version number.
Definition: routingservice_infrastructure.h:184