-
Key: CPP12-8
-
Legacy Issue Number: 4496
-
Status: closed
-
Source: Borland Software Corporation ( Vijaykumar Natarajan)
-
Summary:
The current specification of the local mapping requires the
implementation to enforce the "localness" of the object. This was very
similar to the (old) java mapping. The inheritance heirarchy is as
followsCORBA::LocalObject : CORBA::Object
abstract MyLocalObject : CORBA::Object
MyLocalObjectImpl : MyLocalObject, CORBA::LocalObject
The problem here is that there is no way for the ORB or the code
generators to enforce the last inheritance. And I am not even sure how
an ORB can detect the following caseMyLocalObjectImpl : MyLocalObject
which I suspect would be a very common error.
Proposal:
Fix the mapping to have the following heirarchy.
CORBA::LocalObject : CORBA::Object
abstract MyLocalObject : CORBA::LocalObject <===== Difference is here
MyLocalObjectImpl : MyLocalObject <== and here
Now an _is_a("IDL:omg.org/CORBA/LocalObject:1.0") is guaranteed to give
a correct answer and it is enforced by the IDL compilers.This is also backward source compatible.
-
Reported: CPP 1.1 — Tue, 14 Aug 2001 04:00 GMT
-
Disposition: Resolved — CPP 1.2
-
Disposition Summary:
see issue #4160 (the proposed resolution rejects this suggestion)
-
Updated: Fri, 6 Mar 2015 20:57 GMT