OpenSplice C# API
v6.x
OpenSplice C# Data Distribution Service Data-Centric Publish-Subscribe API
|
The C# Reference Guide provides details of the Vortex OpenSplice (Subscription Paradigm for the Logical Interconnection of Concurrent Engines) Application Programming Interfaces for the C# language.
The C# Reference Guide describes the Data Centric Publish Subscribe (DCPS) layer. The purpose of the DCPS is the distribution of data (publish/subscribe). The structure of the DCPS is divided into five modules. Each module consists of several classes, which in turn generally contain several operations.
See the DDS Tutorial (pdf) for more information about the DDS specification and usage, which is a good starting point if you don't know much about DDS yet.
If you are new to C# we would recommend that you start by looking at the example code provided in your Vortex OpenSplice installation directory as well as the documentation in the sections below.
A summary of each example, along with build instructions can be found on the Examples page.
The API is currently compiled on the Windows platform using Microsoft's C# compiler. The resulting deliverable is a library file called dcpssacsAssembly.dll, which you can find in the OSPL_HOME%/bin directory alongside all the other Vortex OpenSplice product libraries.
Since the DLL is a managed assembly, it is not found by Windows using the normal PATH environment variable. In order for the .NET framework to find a library, this library must either be copied to the same directory location as the executable that tries to load it, or the library must be copied into the Global Assembly Cache (GAC). For details about the global assembly cache, and how to manage it, see the Wikipedia Global Assembly Cache information.
The C# API is very similar to the other language bindings, with a couple of exceptions:
To generate a C# data model from your Topic IDL definitions, use idlpp in the following way:
idlpp -l cs -S < IDL_FILE >
Here, 'cs' represents the Csharp language, and -S represents the fact that there is no dependency on any ORB. See also 'idlpp -h'.