ADA 1.3 RTF Avatar
  1. OMG Issue

ADA13 — Mapping of CORBA.Request in Ada

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

    Ada 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