Issue 13839: Mapping of OMG IDL to C++ for DDS (data-distribution-rtf) Source: EADS (Mr. Oliver M. Kellogg, oliver.kellogg(at)cassidian.com) Nature: Uncategorized Issue Severity: Summary: The mapping of user written IDL to C++ is not described in the version 1.2 of the DDS standard. Is it expected that DDS use the existing CORBA C++ mapping for data types? If so then the standard should state this requirement. On the other hand, the CORBA IDL to C++ mapping is fairly old. The new DDS PSM for C++ would suggest a more modern mapping. For example, for bounded strings and bounded sequences, C++ classes inspired by the Standard Template Library (STL) could be used. These classes need not necessarily break the DCPS compatibility with the C language mentioned in 8.2.1.1. (Use fixed buffer, avoid virtual methods.) It is not clear whether unbounded data types need be supported, see issues 8892 and 12360. In case a new mapping is defined which is independent of the CORBA C++ mapping, there is a problem to address: Bridge applications which use both CORBA and DDS would need to translate a single IDL file twice, once for CORBA and again for DDS. Then there is an overlap in the generated names. This problem could be solved by encapsulating all C++ code generated for DDS from user IDL in an extra namespace. Resolution: Revised Text: Actions taken: March 27, 2009: received issue Discussion: End of Annotations:===== m: Oliver Kellogg Organization: EADS Deutschland GmbH To: issues@omg.org Subject: Mapping of OMG IDL to C++ for DDS (data-distribution-rtf) Date: Fri, 27 Mar 2009 16:13:46 +0100 User-Agent: KMail/1.9.51 (KDE/4.0.4; ; ) X-OriginalArrivalTime: 27 Mar 2009 15:13:16.0400 (UTC) FILETIME=[8DF71700:01C9AEEE] The mapping of user written IDL to C++ is not described in the version 1.2 of the DDS standard. Is it expected that DDS use the existing CORBA C++ mapping for data types? If so then the standard should state this requirement. On the other hand, the CORBA IDL to C++ mapping is fairly old. The new DDS PSM for C++ would suggest a more modern mapping. For example, for bounded strings and bounded sequences, C++ classes inspired by the Standard Template Library (STL) could be used. These classes need not necessarily break the DCPS compatibility with the C language mentioned in 8.2.1.1. (Use fixed buffer, avoid virtual methods.) It is not clear whether unbounded data types need be supported, see issues 8892 and 12360. In case a new mapping is defined which is independent of the CORBA C++ mapping, there is a problem to address: Bridge applications which use both CORBA and DDS would need to translate a single IDL file twice, once for CORBA and again for DDS. Then there is an overlap in the generated names. This problem could be solved by encapsulating all C++ code generated for DDS from user IDL in an extra namespace. -- Oliver M. Kellogg EADS Deutschland GmbH Defence and Communication Systems Dept. MSOP22 89077 Ulm Tel: +49 (0) 731.392-7138 Fax: +49 (0) 731.392-xxxx E-Fax: +49 (0) 731.392-20 7138 E-Mail: Oliver.Kellogg@eads.com EADS Deutschland GmbH Registered Office: Ottobrunn District Court of Munich HRB107648 Chairman of the Supervisory Board: Dr. Thomas Enders Managing Directors: Dr. Stefan Zoller (chairman), Michael Hecht