Issue 3673: CORBA::release and CORBA::is_nil on POA_ptr (cxx_revision) Source: Objective Interface Systems (Mr. Bill Beckwith, bill.beckwith(at)ois.com) Nature: Uncategorized Issue Severity: Summary: I believe that the CORBA::release and CORBA::is_nil functions that take a POA_ptr argument do not reference the proper scope: 1.41.11 release and is_nil // C++ namespace CORBA { ... void release(POA_ptr); ... Boolean is_nil(POA_ptr); ... } Should be: 1.41.11 release and is_nil // C++ namespace CORBA { ... void release(PortableServer::POA_ptr); ... Boolean is_nil(PortableServer::POA_ptr); ... } I don't see in the specification where the scope of POA_ptr is explicitly defined. But, I believe that the correct definition of POA_ptr is in the PortableServer namespace (i.e. the enclosing scope of the POA class). Then again I can't find anything in the specification that asserts that any Foo_ptr type must go in the immediately enclosing class or namespace containing the Foo type. :-/ Also, if POA_ptr is in PortableServer when an ORB is mapping of modules to classes the definition of the above release and is_nil functions in the CORBA class will be impossible. So I feel compelled to ask: Do we really need to have release and is_nil functions for types outside of the CORBA module? Resolution: Revised Text: Actions taken: June 7, 2000: received issue Discussion: deferred in June 2011 to the next RTF End of Annotations:===== X-Sender: beckwb@192.84.85.3 X-Mailer: QUALCOMM Windows Eudora Version 4.3.1 Date: Wed, 07 Jun 2000 10:45:00 -0400 To: issues@omg.org, cxx_revision@omg.org From: Bill Beckwith Subject: New issue: CORBA::release and CORBA::is_nil on POA_ptr In-Reply-To: <4.2.0.58.20000518114243.00957f00@emerald.omg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-UIDL: '\1e9e0+!!g%Zd9;<3!! I believe that the CORBA::release and CORBA::is_nil functions that take a POA_ptr argument do not reference the proper scope: 1.41.11 release and is_nil // C++ namespace CORBA { ... void release(POA_ptr); ... Boolean is_nil(POA_ptr); ... } Should be: 1.41.11 release and is_nil // C++ namespace CORBA { ... void release(PortableServer::POA_ptr); ... Boolean is_nil(PortableServer::POA_ptr); ... } I don't see in the specification where the scope of POA_ptr is explicitly defined. But, I believe that the correct definition of POA_ptr is in the PortableServer namespace (i.e. the enclosing scope of the POA class). Then again I can't find anything in the specification that asserts that any Foo_ptr type must go in the immediately enclosing class or namespace containing the Foo type. :-/ Also, if POA_ptr is in PortableServer when an ORB is mapping of modules to classes the definition of the above release and is_nil functions in the CORBA class will be impossible. So I feel compelled to ask: Do we really need to have release and is_nil functions for types outside of the CORBA module? -- Bill Sender: jbiggar@corvette.floorboard.com Message-ID: <393EA841.A1340AE6@floorboard.com> Date: Wed, 07 Jun 2000 12:53:37 -0700 From: Jonathan Biggar X-Mailer: Mozilla 4.7 [en] (X11; U; SunOS 5.6 sun4u) X-Accept-Language: en MIME-Version: 1.0 To: cxx_revision@omg.org Subject: Re: New issue: CORBA::release and CORBA::is_nil on POA_ptr References: <4.3.1.2.20000607085446.00bb9690@192.84.85.3> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii X-UIDL: J[6e9:J=!!'#8!!f+1e9 Bill Beckwith wrote: > > I believe that the CORBA::release and CORBA::is_nil > functions that take a POA_ptr argument do not > reference the proper scope: > > 1.41.11 release and is_nil > // C++ > namespace CORBA { > ... > void release(POA_ptr); > ... > Boolean is_nil(POA_ptr); > ... > } I think this is a mistaken edit when the BOA was removed and replaced with the POA. The BOA was a pseudo-object, so it required its own release & is_nil operations. The POA, however, is a real interface, so it can use the release & is_nil operations defined for Object. These two lines should simply be removed from 1.41.11. -- Jon Biggar Floorboard Software jon@floorboard.com jon@biggar.org X-Sender: beckwb@192.84.85.3 X-Mailer: QUALCOMM Windows Eudora Version 4.3.1 Date: Wed, 07 Jun 2000 20:35:07 -0400 To: cxx_revision@omg.org From: Bill Beckwith Subject: Re: New issue: CORBA::release and CORBA::is_nil on POA_ptr In-Reply-To: <393EA841.A1340AE6@floorboard.com> References: <4.3.1.2.20000607085446.00bb9690@192.84.85.3> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-UIDL: <_k!!KImd9YTQ!!fEA!! At 03:53 PM 6/7/00, Jonathan Biggar wrote: >Bill Beckwith wrote: >> >> I believe that the CORBA::release and CORBA::is_nil >> functions that take a POA_ptr argument do not >> reference the proper scope: >> >> 1.41.11 release and is_nil >> // C++ >> namespace CORBA { >> ... >> void release(POA_ptr); >> ... >> Boolean is_nil(POA_ptr); >> ... >> } > >I think this is a mistaken edit when the BOA was removed and replaced >with the POA. The BOA was a pseudo-object, so it required its own >release & is_nil operations. The POA, however, is a real interface, so >it can use the release & is_nil operations defined for Object. > >These two lines should simply be removed from 1.41.11. Thanks Jon. Sounds right to me. -- Bill