Issue 14165: : #define HANDLE_TYPE_NATIVE long typedef HANDLE_TYPE_NATIVE InstanceHandle_t; (data-distribution-rtf) Source: Remedy IT (Mr. Johnny Willemsen, jwillemsen(at)remedy.nl) Nature: Clarification Severity: Minor Summary: The DDS spec defines: #define HANDLE_TYPE_NATIVE long typedef HANDLE_TYPE_NATIVE InstanceHandle_t; We see that some vendors use long, other a struct containing an octet array. This is causing problems when integrating DDS into CCM. A CORBA::Long is passed by value, a struct is passed as const &. At least the way the InstanceHandle_t is passed to methods and returned should be the same. We propose to change this type to: struct NativeInstanceHandle_t { // Vendor defined }; typedef NativeInstanceHandle_t InstanceHandle_t; That way we always have a struct passed as const&. Resolution: Revised Text: Actions taken: July 30, 2009: received issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 30 Jul 2009 06:02:50 -0400 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: Johnny Willemsen Company: Remedy mailFrom: jwillemsen@remedy.nl Notification: Yes Specification: DDS Section: - FormalNumber: 07-01-01 Version: 1.2 RevisionDate: Jan 2007 Page: - Nature: Clarification Severity: Minor HTTP User Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729) Description The DDS spec defines: #define HANDLE_TYPE_NATIVE long typedef HANDLE_TYPE_NATIVE InstanceHandle_t; We see that some vendors use long, other a struct containing an octet array. This is causing problems when integrating DDS into CCM. A CORBA::Long is passed by value, a struct is passed as const &. At least the way the InstanceHandle_t is passed to methods and returned should be the same. We propose to change this type to: struct NativeInstanceHandle_t { // Vendor defined }; typedef NativeInstanceHandle_t InstanceHandle_t; That way we always have a struct passed as const&.