-
Key: ADA13-13
-
Legacy Issue Number: 3706
-
Status: closed
-
Source: Anonymous
-
Summary:
Modification of the IDL specification of the CORBA.Object
package in order to include another way of creating Requests.
Addition of two new interfaces : ExceptionList and ContextList.
Modification of the CORBA.Request package to allow the user to
set the result type.Description:
The mapping of the IDL specification of the CORBA.Object package inAda provides a single way of creating requests through the
create_request procedure. This procedure does not take into account the
context nor the exception possibly returned by the method invoked.
Therefore I suggest to add a new create_request procedure whose Ada
specification is :procedure Create_Request
(Self : in CORBA.AbstractBase.Ref;
Ctx : in CORBA.Context.Ref;
Operation : in Identifier;
Arg_List : in CORBA.NVList.Ref;
Result : in out NamedValue;
Exc_List : in ExceptionList;
Ctxt_List : in ContextList;
Request : out CORBA.Request.Object;
Req_Flags : in Flags);The specification of the types ExceptionList and ContextList are mapped
from the following pseudo Idl :interface ExceptionList
{ readonly attribute unsigned long count; void add(in TypeCode exc); TypeCode item(in unsigned long index) raises(Bounds); void remove(in unsigned long index) raises(Bounds); };
pseudo interface ContextList
{ readonly attribute unsigned long count; void add(in string ctxt); string item(in unsigned long index) raises(Bounds); void remove(in unsigned long index) raises(Bounds); };
In addition, a method is missing in the package CORBA.Request to allow
the user to set the result type if he passed a null NamedValue at
creation of the request. I suggest to add the following method in
CORBA.Request :package CORBA.request
{ procedure Set_Return_Type (CORBA.TypeCode.Object Tc); };
-
Reported: ADA 1.2 — Tue, 13 Jun 2000 04:00 GMT
-
Disposition: Resolved — ADA 1.3
-
Disposition Summary:
Reject first suggestion: new create_request operation and attendant “list” types. Contexts
are not returned from operations in Replies, only provided in Requests and that parameter
is provided at request creation. Exceptions are not returned in Request objects for later
query; they are raised as the result of Invoke or Get_Result. The definitions of
ExceptionList and ContextList are not needed as a result.
Reject suggestion of Set_Return_Type. The result will be returned in a NamedValue, thus
the TypeCode of the result must be set when passed to Create_Request, or by Invoke or
Get_Result (by consulting the IR).
Disposition: Closed, no change -
Updated: Fri, 6 Mar 2015 20:57 GMT