Issue 1359: Ada Language Mapping: Section 23.5.5, Mapping for Interface (ada-rtf) Source: (, ) Nature: Uncategorized Issue Severity: Summary: Summary: Ada Language Mapping: Section 23.5.5, “Mapping for Interfaces” **The following text is added to the Ada language mapping within section 23.5.5 at the end of the subsection titled, “Narrowing Object References”.** Narrowing an object reference can require a remote invocation (to either the target object or to an Interface Repository) to verify the relationship between the actual object and the desired narrow interface. For cases where the application programmer wishes to avoid the possibility of this remote invocation, conforming implementations must provide a primitive subprogram in each interface package to perform an unchecked narrow operation. Each interface mapping shall include a function with specification: function Unchecked_To_Ref(The_Ref : in CORBA.Object.Ref’CLASS) return Ref; Regardless of whether or not The_Ref is known to support the desired interface, the provided implementation returns a narrowed reference. Resolution: Revised Text: Actions taken: May 15, 1998: received issue December 2, 2002: closed issue Discussion: End of Annotations:===== Return-Path: Date: Wed, 13 May 1998 19:03:23 -0700 From: Jon Goldberg To: ada-rtf@omg.org, issues@omg.org Subject: Mapping of Unchecked Narrow Hi- This is mostly a warning of pending IDL-to-Ada work that will be needed to support a change due to CORBA Messaging. Although Messaging has not been adopted at this time (therefore no document number is provided here), I didn't want to lose this issue or the attached proposed solution. take care, Jon ============================================================ The CORBA Messaging specification is in the process of adding an unchecked narrow operation to the IDL mapping for interfaces for those languages that currently have a mapping for typesafe "narrow". The Ada language mapping will need to be updated to support this new operation. Here is a first stab at that update, but my Ada is a bit rusty: Ada Language Mapping: Section 23.5.5 , **The following text is added to the Ada language mapping within section 23.5.5 at the end of the subsection titled, Referencse.** Narrowing an object reference can require a remote invocation (to either the target object or to an Interface Repository) to verify the relationship between the actual object and the desired narrow interface. For cases where the application programmer wishes to avoid the possibility of this remote invocation, conforming implementations must provide a primitive subprogram in each interface package to perform an unchecked narrow operation. Each interface mapping shall include a function with specification: function Unchecked_To_Ref(The_Ref : in Ref; Regardless of whether or not The_Ref is known to support the desired interface, the provided implementation returns a narrowed reference. CORBA.Object.Ref