11#ifndef routingservice_infrastructure_h
12#define routingservice_infrastructure_h
14#include "routingservice/routingservice_dll.h"
15#include "dds_c/dds_c_infrastructure.h"
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")))
40 #define RTI_USER_DLL_EXPORT
43#define RTI_ROUTING_SERVICE_VERSION {7,7,0,0}
51#define RTI_UNUSED_PARAMETER(x) (void)(x)
102extern ROUTERDllExport
103const char * RTI_RoutingServiceProperties_lookup_property_with_prefix(
108extern ROUTERDllExport
109DDS_Boolean RTI_RoutingServiceProperties_add(
114extern ROUTERDllExport
115DDS_Boolean RTI_RoutingServiceProperties_assert(
120extern ROUTERDllExport
121DDS_Boolean RTI_RoutingServiceProperties_equals(
125extern ROUTERDllExport
127RTI_RoutingServiceProperties_copy(
131extern ROUTERDllExport
132void RTI_RoutingServiceProperties_finalize(
135extern ROUTERDllExport
136DDS_Boolean RTI_RoutingServiceProperties_initialize(
147#define RTI_ROUTING_SERVICE_OK 0
154#define RTI_ROUTING_SERVICE_ERROR 1
161#define RTI_ROUTING_SERVICE_FATAL_ERROR 2
168#define RTI_ROUTING_SERVICE_ERROR_MAX_LENGTH 1024
170struct RTI_RoutingServiceEnvironmentImpl;
259 DDS_Boolean overwrite,
261 int native_error_code,
262 const char *error_format,
287 const char *error_format,
311 const char *error_format,
353extern ROUTERDllExport
const char *
369extern ROUTERDllExport
int RTI_RoutingServiceEnvironment_get_native_code(
372extern ROUTERDllExport
373int RTI_RoutingServiceVersion_compare(
384#define RTI_ROUTING_SERVICE_TYPE_REPRESENTATION_DYNAMIC_TYPE 0
389#define RTI_ROUTING_SERVICE_TYPE_REPRESENTATION_XML 1
394#define RTI_ROUTING_SERVICE_TYPE_REPRESENTATION_JAVA_OBJECT 2
396#define RTI_ROUTING_SERVICE_TYPE_REPRESENTATION_FIRST_CUSTOM_REPRESENTATION 100
401#define RTI_ROUTING_SERVICE_DATA_REPRESENTATION_DYNAMIC_DATA 0
406#define RTI_ROUTING_SERVICE_DATA_REPRESENTATION_XML 1
411#define RTI_ROUTING_SERVICE_DATA_REPRESENTATION_JAVA_OBJECT 2
413#define RTI_ROUTING_SERVICE_DATA_REPRESENTATION_FIRST_CUSTOM_REPRESENTATION 100
447 DDS_Boolean can_be_optimized;
505#define RTI_RoutingServiceStringSeq_INITIALIZER \
508extern ROUTERDllExport
510RTI_RoutingServiceStringSeq_copy(
542#define RTI_RoutingServiceStreamInfo_INITIALIZER {\
544 {NULL, DDS_BOOLEAN_TRUE, 0, NULL},\
545 RTI_RoutingServiceStringSeq_INITIALIZER, \
549extern ROUTERDllExport
void RTI_RoutingServiceStreamInfo_finalize(
552extern ROUTERDllExport DDS_Boolean RTI_RoutingServiceStreamInfo_initialize(
554 DDS_Boolean is_disposed_stream,
555 const char *stream_name,
556 const char *registered_type_name,
557 int type_dfinition_format,
575 const char *registered_type_name,
595extern ROUTERDllExport
600#define RTI_ROUTING_SERVICE_PROPERTY_PREFIX \
601 "rti.routing_service"
608#define RTI_ROUTING_SERVICE_APP_NAME_PROPERTY_NAME \
609 RTI_ROUTING_SERVICE_PROPERTY_PREFIX".app_name"
616#define RTI_ROUTING_SERVICE_GROUP_PROPERTY_NAME \
617 RTI_ROUTING_SERVICE_PROPERTY_PREFIX".group_name"
624#define RTI_ROUTING_SERVICE_VERSION_PROPERTY_NAME \
625 RTI_ROUTING_SERVICE_PROPERTY_PREFIX".version"
639#define RTI_ROUTING_SERVICE_VERBOSITY_PROPERTY_NAME \
640 RTI_ROUTING_SERVICE_PROPERTY_PREFIX".verbosity"
648#define RTI_ROUTING_SERVICE_ENTITY_RESOURCE_NAME_PROPERTY_NAME \
649 RTI_ROUTING_SERVICE_PROPERTY_PREFIX".entity.resource_name"
RTI_RoutingServiceVerbosity RTI_RoutingServiceEnvironment_get_verbosity(const RTI_RoutingServiceEnvironment *self)
Retrieves the verbosity that Routing Service is using.
void RTI_RoutingServiceEnvironment_fatal_error(RTI_RoutingServiceEnvironment *self, const char *error_format,...)
Assigns a fatal error into the environment.
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:183
int RTI_RoutingServiceTypeRepresentationKind
Type representation kind.
Definition: routingservice_infrastructure.h:422
RTI_RoutingServiceVerbosity
Verbosity used by Routing Service.
Definition: routingservice_infrastructure.h:214
void RTI_RoutingServiceEnvironment_set_error_w_params(RTI_RoutingServiceEnvironment *self, DDS_Boolean 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:463
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:434
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:482
void * RTI_RoutingServiceSampleInfo
Stream sample info. In DDS, this is a DDS_SampleInfo object.
Definition: routingservice_infrastructure.h:489
void RTI_RoutingServiceStreamInfo_delete(struct RTI_RoutingServiceStreamInfo *self)
Destroys a stream info.
@ RTI_ROUTING_SERVICE_VERBOSITY_WARN
Definition: routingservice_infrastructure.h:226
@ RTI_ROUTING_SERVICE_VERBOSITY_DEBUG
Definition: routingservice_infrastructure.h:234
@ RTI_ROUTING_SERVICE_VERBOSITY_EXCEPTION
Definition: routingservice_infrastructure.h:222
@ RTI_ROUTING_SERVICE_VERBOSITY_NONE
Definition: routingservice_infrastructure.h:218
@ RTI_ROUTING_SERVICE_VERBOSITY_INFO
Definition: routingservice_infrastructure.h:230
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:521
char * stream_name
The stream name.
Definition: routingservice_infrastructure.h:525
DDS_Boolean disposed
Indicates whether the stream is a newly discovered stream or a disposed stream that no longer exists.
Definition: routingservice_infrastructure.h:538
struct RTI_RoutingServiceTypeInfo type_info
The type information associated with the stream.
Definition: routingservice_infrastructure.h:529
Definition of a String sequence.
Definition: routingservice_infrastructure.h:495
int element_count_max
maximum capacity of the array.
Definition: routingservice_infrastructure.h:501
int element_count
Number of elements in the array.
Definition: routingservice_infrastructure.h:499
char ** element_array
Array of elements.
Definition: routingservice_infrastructure.h:497
Type information.
Definition: routingservice_infrastructure.h:438
RTI_RoutingServiceTypeRepresentationKind type_representation_kind
The representation kind.
Definition: routingservice_infrastructure.h:450
RTI_RoutingServiceTypeRepresentation type_representation
The type representation.
Definition: routingservice_infrastructure.h:453
char * type_name
The registered type name.
Definition: routingservice_infrastructure.h:440
Represents the version of a plugin or RTI Routing Service itself.
Definition: routingservice_infrastructure.h:190
int minor
Minor version number.
Definition: routingservice_infrastructure.h:198
int revision
Revision of a release.
Definition: routingservice_infrastructure.h:206
int release
Release version number.
Definition: routingservice_infrastructure.h:202
int major
Major version number.
Definition: routingservice_infrastructure.h:194