Issue 4002: CORBA::RequestSeq or CORBA::ORB::RequestSeq? (cxx_revision) Source: Triodia Technologies Pty Ltd (Mr. Michi Henning, michi(at)triodia.com) Nature: Uncategorized Issue Severity: Summary: with 2.3, we got rid of all the C/C++ pseudo code for the DII and replaced it with IDL. Unfortunately, this has broken something in the C++ mapping... In the 2.0 spec, we had: pseudo interface ORB { typedef sequence<Request> RequestSeq; // ... }; With 2.3, we changed this to: module CORBA { // ... typedef sequence<Request> RequestSeq; // ... }; Unfortunately, the C++ mapping still shows the (now incorrect) definition from CORBA 2.0 in Section 1.33.1. In addition, the C++ mapping shows in Section 1.33.2: class ORB { public: class RequestSeq {...}; // ... }; But then, in Section 1.41.21: class ORB { public: typedef sequence<Request_ptr> RequestSeq; // ... }; The latter definition isn't C++... So, we have several issues here: 1) How can we fix the C++ mapping to be in line with the core? I'm toying with the idea of saying that RequestSeq is defined in the CORBA namespace, with a typedef for backward compatibility in the ORB interface. But I'm not sure what will break with this kind of aliasing (repository IDs might change unexpectedly?) 2) Section 1.41.21 should be changed to show legal C++. 3) Depending on the resolution to this issue, both 1.33.2 and 1.41.21 will probably need updating to reflect the resolution. Resolution: Revised Text: Actions taken: October 27, 2000: received issue Discussion: deferred in June 2011 to the next RTF End of Annotations:===== Date: Fri, 27 Oct 2000 14:31:34 +1000 (EST) From: Michi Henning Reply-To: C++ Revision Task Force To: C++ Revision Task Force cc: Core Revision Task Force , issues@omg.org Subject: CORBA::RequestSeq or CORBA::ORB::RequestSeq? Message-ID: Organization: Object Oriented Concepts MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-UIDL: I^j!! RequestSeq; // ... }; With 2.3, we changed this to: module CORBA { // ... typedef sequence RequestSeq; // ... }; Unfortunately, the C++ mapping still shows the (now incorrect) definition from CORBA 2.0 in Section 1.33.1. In addition, the C++ mapping shows in Section 1.33.2: class ORB { public: class RequestSeq {...}; // ... }; But then, in Section 1.41.21: class ORB { public: typedef sequence RequestSeq; // ... }; The latter definition isn't C++... So, we have several issues here: 1) How can we fix the C++ mapping to be in line with the core? I'm toying with the idea of saying that RequestSeq is defined in the CORBA namespace, with a typedef for backward compatibility in the ORB interface. But I'm not sure what will break with this kind of aliasing (repository IDs might change unexpectedly?) 2) Section 1.41.21 should be changed to show legal C++. 3) Depending on the resolution to this issue, both 1.33.2 and 1.41.21 will probably need updating to reflect the resolution. Cheers, Michi. -- Michi Henning +61 7 3891 5744 Object Oriented Concepts +61 4 1118 2700 (mobile) Suite 4, 904 Stanley St +61 7 3891 5009 (fax) East Brisbane 4169 michi@ooc.com.au AUSTRALIA http://www.ooc.com.au/staff/michi-henning.html