CPP 1.2 NO IDEA Avatar
  1. OMG Issue

CPP12 — Local interfaces issue 1

  • 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
    follows

    CORBA::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 case

    MyLocalObjectImpl : 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