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