11#ifndef routingservice_adapter_h
12#define routingservice_adapter_h
116typedef const char *(*RTI_RoutingServiceConnection_ToStringFcn)(
267 const char *routing_service_name,
268 const char *routing_service_group_name,
270 *input_stream_discovery_listener,
272 *output_stream_discovery_listener,
274 int registeredTypeCount,
448#define RTI_ROUTING_SERVICE_ADAPTER_PLUGIN_INIT_NUMBER (7654321)
460#define RTI_RoutingServiceAdapterPlugin_initialize(adapter) \
462 struct RTI_RoutingServiceVersion rsVersion = RTI_ROUTING_SERVICE_VERSION; \
463 struct RTI_RoutingServiceVersion adapterVersion = {0,0,0,0}; \
464 (adapter)->_init = RTI_ROUTING_SERVICE_ADAPTER_PLUGIN_INIT_NUMBER; \
465 (adapter)->_rs_version = rsVersion; \
466 (adapter)->plugin_version = adapterVersion; \
467 (adapter)->adapter_plugin_delete = 0; \
468 (adapter)->adapter_plugin_create_connection = 0; \
469 (adapter)->adapter_plugin_delete_connection = 0; \
470 (adapter)->connection_create_session = 0; \
471 (adapter)->connection_delete_session = 0; \
472 (adapter)->connection_create_stream_reader = 0; \
473 (adapter)->connection_delete_stream_reader = 0; \
474 (adapter)->connection_create_stream_writer = 0; \
475 (adapter)->connection_delete_stream_writer = 0; \
476 (adapter)->connection_get_input_stream_discovery_reader = 0; \
477 (adapter)->connection_get_output_stream_discovery_reader = 0; \
478 (adapter)->connection_copy_type_representation = 0; \
479 (adapter)->connection_delete_type_representation = 0; \
480 (adapter)->connection_to_string = 0; \
481 (adapter)->connection_update = 0; \
482 (adapter)->session_update = 0; \
483 (adapter)->stream_reader_read = 0; \
484 (adapter)->stream_reader_return_loan = 0; \
485 (adapter)->stream_reader_update = 0; \
486 (adapter)->stream_writer_write = 0; \
487 (adapter)->stream_writer_update = 0; \
488 (adapter)->user_object = 0; \
RTI_RoutingServiceStreamReader(* RTI_RoutingServiceConnection_GetDiscoveryReaderFcn)(RTI_RoutingServiceConnection connection, RTI_RoutingServiceEnvironment *env)
Prototype of the function that gets a built-in discovery StreamReader.
Definition: routingservice_adapter.h:209
void(* RTI_RoutingServiceConnection_DeleteSessionFcn)(RTI_RoutingServiceConnection connection, RTI_RoutingServiceSession session, RTI_RoutingServiceEnvironment *env)
Prototype of the function that deletes a Session.
Definition: routingservice_adapter.h:132
int(* RTI_RoutingServiceStreamWriter_WriteFcn)(RTI_RoutingServiceStreamWriter stream_writer, const RTI_RoutingServiceSample *sample_list, const RTI_RoutingServiceSampleInfo *info_list, int count, RTI_RoutingServiceEnvironment *env)
Prototype of the function that writes a collection of data samples to an output stream.
Definition: routingservice_adapter.h:38
void(* RTI_RoutingServiceStreamReaderListener_OnDataAvailableCallback)(RTI_RoutingServiceStreamReader stream_reader, void *listener_data)
Prototype of the callback used to notify of new samples.
Definition: routingservice_adapter.h:57
void(* RTI_RoutingServiceConnection_DeleteStreamWriterFcn)(RTI_RoutingServiceConnection connection, RTI_RoutingServiceStreamWriter stream_writer, RTI_RoutingServiceEnvironment *env)
Prototype of the function that deletes a StreamWriter.
Definition: routingservice_adapter.h:171
void(* RTI_RoutingServiceConnection_DeleteTypeRepresentationFcn)(RTI_RoutingServiceConnection connection, RTI_RoutingServiceTypeRepresentationKind type_representation_kind, RTI_RoutingServiceTypeRepresentation type_representation, RTI_RoutingServiceEnvironment *env)
Prototype of the function that deletes a type representation.
Definition: routingservice_adapter.h:226
void * RTI_RoutingServiceStreamReader
StreamReader.
Definition: routingservice_adapter.h:52
RTI_RoutingServiceTypeRepresentation(* RTI_RoutingServiceConnection_CopyTypeRepresentationFcn)(RTI_RoutingServiceConnection connection, RTI_RoutingServiceTypeRepresentationKind type_representation_kind, RTI_RoutingServiceTypeRepresentation type_representation, RTI_RoutingServiceEnvironment *env)
Prototype of the function that copies a type representation.
Definition: routingservice_adapter.h:217
struct RTI_RoutingServiceAdapterPlugin *(* RTI_RoutingServiceAdapterPlugin_CreateFcn)(const struct RTI_RoutingServiceProperties *properties, RTI_RoutingServiceEnvironment *env)
Prototype of the function that creates an adapter plugin.
Definition: routingservice_adapter.h:443
void * RTI_RoutingServiceConnection
Connection.
Definition: routingservice_adapter.h:112
RTI_RoutingServiceStreamWriter(* RTI_RoutingServiceConnection_CreateStreamWriterFcn)(RTI_RoutingServiceConnection connection, RTI_RoutingServiceSession session, const struct RTI_RoutingServiceStreamInfo *stream_info, const struct RTI_RoutingServiceProperties *properties, RTI_RoutingServiceEnvironment *env)
Prototype of the function that creates a StreamWriter.
Definition: routingservice_adapter.h:161
void(* RTI_RoutingServiceAdapterEntity_UpdateFcn)(RTI_RoutingServiceAdapterEntity entity, const struct RTI_RoutingServiceProperties *properties, RTI_RoutingServiceEnvironment *env)
Prototype of the function that updates the configuration of an adapter entity.
Definition: routingservice_adapter.h:244
void * RTI_RoutingServiceSession
Session.
Definition: routingservice_adapter.h:103
void(* RTI_RoutingServiceAdapterPlugin_DeleteFcn)(struct RTI_RoutingServiceAdapterPlugin *plugin, RTI_RoutingServiceEnvironment *env)
Prototype of the function that deletes an adapter plugin.
Definition: routingservice_adapter.h:291
RTI_RoutingServiceStreamReader(* RTI_RoutingServiceConnection_CreateStreamReaderFcn)(RTI_RoutingServiceConnection connection, RTI_RoutingServiceSession session, const struct RTI_RoutingServiceStreamInfo *stream_info, const struct RTI_RoutingServiceProperties *properties, const struct RTI_RoutingServiceStreamReaderListener *listener, RTI_RoutingServiceEnvironment *env)
Prototype of the function that creates a StreamReader.
Definition: routingservice_adapter.h:141
void(* RTI_RoutingServiceStreamReader_ReturnLoanFcn)(RTI_RoutingServiceStreamReader stream_reader, RTI_RoutingServiceSample *sample_list, RTI_RoutingServiceSampleInfo *info_list, int count, RTI_RoutingServiceEnvironment *env)
Prototype of the function that returns the loan on the read samples and infos.
Definition: routingservice_adapter.h:89
void(* RTI_RoutingServiceConnection_DeleteStreamReaderFcn)(RTI_RoutingServiceConnection connection, RTI_RoutingServiceStreamReader stream_reader, RTI_RoutingServiceEnvironment *env)
Prototype of the function that deletes a StreamReader.
Definition: routingservice_adapter.h:152
void(* RTI_RoutingServiceStreamReader_ReadFcn)(RTI_RoutingServiceStreamReader stream_reader, RTI_RoutingServiceSample **sample_list, RTI_RoutingServiceSampleInfo **info_list, int *count, RTI_RoutingServiceEnvironment *env)
Prototype of the function that reads a collection of data samples and sample infos from an input str...
Definition: routingservice_adapter.h:79
RTI_RoutingServiceSession(* RTI_RoutingServiceConnection_CreateSessionFcn)(RTI_RoutingServiceConnection connection, const struct RTI_RoutingServiceProperties *properties, RTI_RoutingServiceEnvironment *env)
Prototype of the function that creates a Session.
Definition: routingservice_adapter.h:124
RTI_RoutingServiceStreamReaderListener_OnDataAvailableCallback on_data_available
Prototype of the callback used to notify of new samples.
Definition: routingservice_adapter.h:73
void * RTI_RoutingServiceAdapterEntity
Adapter entity.
Definition: routingservice_adapter.h:239
void * RTI_RoutingServiceStreamWriter
StreamWriter.
Definition: routingservice_adapter.h:24
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
void * RTI_RoutingServiceTypeRepresentation
Type representation.
Definition: routingservice_infrastructure.h:400
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_RoutingServiceAdapterPlugin_DeleteConnectionFcn)(struct RTI_RoutingServiceAdapterPlugin *plugin, RTI_RoutingServiceConnection connection, RTI_RoutingServiceEnvironment *env)
Prototype of the function that deletes a RTI_RoutingServiceConnection.
Definition: routingservice_adapter.h:256
RTI_RoutingServiceConnection(* RTI_RoutingServiceAdapterPlugin_CreateConnectionFcn)(struct RTI_RoutingServiceAdapterPlugin *plugin, const char *routing_service_name, const char *routing_service_group_name, const struct RTI_RoutingServiceStreamReaderListener *input_stream_discovery_listener, const struct RTI_RoutingServiceStreamReaderListener *output_stream_discovery_listener, const struct RTI_RoutingServiceTypeInfo **registeredTypes, int registeredTypeCount, const struct RTI_RoutingServiceProperties *properties, RTI_RoutingServiceEnvironment *env)
Prototype of the function that creates a RTI_RoutingServiceConnection.
Definition: routingservice_adapter.h:265
RTI Routing Service Infrastructure.
Adapter plugin.
Definition: routingservice_adapter.h:331
void * user_object
A place for adapter implementors to keep a pointer to data that may be needed by the implementation.
Definition: routingservice_adapter.h:402
RTI_RoutingServiceConnection_CreateSessionFcn connection_create_session
Handles the creation of sessions (optional).
Definition: routingservice_adapter.h:351
RTI_RoutingServiceConnection_DeleteSessionFcn connection_delete_session
Handles the deletion of sessions (optional).
Definition: routingservice_adapter.h:353
RTI_RoutingServiceAdapterEntity_UpdateFcn connection_update
Handles configuration changes in a connection (optional).
Definition: routingservice_adapter.h:377
RTI_RoutingServiceAdapterPlugin_CreateConnectionFcn adapter_plugin_create_connection
Handles the creation of connections (required).
Definition: routingservice_adapter.h:344
RTI_RoutingServiceAdapterEntity_UpdateFcn session_update
[Not supported] Handles configuration changes in a session (optional).
Definition: routingservice_adapter.h:382
RTI_RoutingServiceStreamReader_ReadFcn stream_reader_read
Reads from an input stream (optional for write-only adapters).
Definition: routingservice_adapter.h:387
RTI_RoutingServiceConnection_DeleteStreamReaderFcn connection_delete_stream_reader
Handles the deletion of stream readers (optional for write-only adapters).
Definition: routingservice_adapter.h:357
RTI_RoutingServiceConnection_CreateStreamWriterFcn connection_create_stream_writer
Handles the creation of stream writers (optional for read-only adapters).
Definition: routingservice_adapter.h:359
RTI_RoutingServiceAdapterEntity_UpdateFcn stream_reader_update
[Not supported] Handles configuration changes in a stream reader (optional).
Definition: routingservice_adapter.h:391
RTI_RoutingServiceConnection_DeleteStreamWriterFcn connection_delete_stream_writer
Handles the deletion of stream writers (optional for read-only adapters).
Definition: routingservice_adapter.h:361
RTI_RoutingServiceAdapterPlugin_DeleteFcn adapter_plugin_delete
Handles the deletion of the adapter plugin (required).
Definition: routingservice_adapter.h:341
RTI_RoutingServiceConnection_GetDiscoveryReaderFcn connection_get_output_stream_discovery_reader
Gets the output stream discovery reader (optional).
Definition: routingservice_adapter.h:369
struct RTI_RoutingServiceVersion plugin_version
The version of this adapter plugin.
Definition: routingservice_adapter.h:338
RTI_RoutingServiceConnection_DeleteTypeRepresentationFcn connection_delete_type_representation
Handles the deletion of type representations (optional).
Definition: routingservice_adapter.h:373
RTI_RoutingServiceConnection_CopyTypeRepresentationFcn connection_copy_type_representation
Handles the copy of type representations (optional).
Definition: routingservice_adapter.h:371
RTI_RoutingServiceConnection_CreateStreamReaderFcn connection_create_stream_reader
Handles the creation of stream readers (optional for write-only adapters).
Definition: routingservice_adapter.h:355
RTI_RoutingServiceConnection_ToStringFcn connection_to_string
Returns the string representation of a connection for logging purposes (optional).
Definition: routingservice_adapter.h:375
RTI_RoutingServiceAdapterPlugin_DeleteConnectionFcn adapter_plugin_delete_connection
Handles the deletion of connections (required).
Definition: routingservice_adapter.h:346
RTI_RoutingServiceAdapterEntity_UpdateFcn stream_writer_update
[Not supported] Handles configuration changes in a stream writer (optional).
Definition: routingservice_adapter.h:398
RTI_RoutingServiceConnection_GetDiscoveryReaderFcn connection_get_input_stream_discovery_reader
Gets the input stream discovery reader (optional).
Definition: routingservice_adapter.h:365
RTI_RoutingServiceStreamWriter_WriteFcn stream_writer_write
Writes to an output stream (optional for read-only adapters).
Definition: routingservice_adapter.h:396
RTI_RoutingServiceStreamReader_ReturnLoanFcn stream_reader_return_loan
Returns the loan on the read samples and infos (optional for write-only adapters).
Definition: routingservice_adapter.h:389
Set of configuration properties.
Definition: routingservice_infrastructure.h:74
struct RTI_RoutingServiceNameValue * properties
Array of configuration properties.
Definition: routingservice_infrastructure.h:76
Stream information.
Definition: routingservice_infrastructure.h:478
StreamReader listener used to notify Routing Service that new data is available.
Definition: routingservice_adapter.h:64
void * listener_data
A place for RTI Routing Service to keep a pointer to data that is needed on the on_data_available not...
Definition: routingservice_adapter.h:68
Type information.
Definition: routingservice_infrastructure.h:404
Represents the version of a plugin or RTI Routing Service itself.
Definition: routingservice_infrastructure.h:180