RTI DDS IDL to C++ compliant wrapper
As part of our DDS4CCM solution we had to integrate RTI DDS into our product. The goal was to have a solution that could easily switch between DDS vendors. RTI doesn't follow the formal IDL to C++ mapping, they have created their own custom language mapping that is RTI specific. In the past more people wanted to use IDL to C++, therefore the RTI product does contain a CORBA Compatibility Kit (CCK). This CCK is only focused on the user defined types, not on the builtin types like DomainParticipant, Publisher, Subscriber, Reader, and Writer. Also all QoS related types are only available in a RTI specific mapping. If you really want to write interoperable code you have no option than to write your own custom wrapper.
As part of our DDS4CCM solution we have created a wrapper library around RTI DDS that also delivers an IDL to C++ wrapper for all builtin DDS entities and types. This wrapper adds the overhead of a virtual method call, but does allow an easy switch between DDS vendors for DDS4CCM. Currently we already have DDS4CCM working with RTI DDS and compiling with OpenDDS, it is just a switch at generation of the MPC files.
This wrapper library has been factorered out of the DDS4CCM core. Remedy IT can provide it as seperate library so that your user code will be portable between the various DDS vendors.