Issue 3706: Mapping of CORBA.Request in Ada (ada-rtf) Source: (, ) Nature: Revision Severity: Significant 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); }; Resolution: 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 Revised Text: Actions taken: June 13, 2000: received issue January 12, 2010: closed issue Discussion: End of Annotations:===== Date: Tue, 13 Jun 2000 18:42:42 +0200 From: Sebastien Ponce To: issues@omg.org Subject: Mapping of CORBA.Request in Ada Message-ID: <20000613184242.E230@fourmi> Reply-To: Sebastien Ponce Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailer: Balsa 0.6.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=ISO-8859-1 X-UIDL: "+)!!Cn#!!:U3!!hV5!! Specification: Ada Language Mapping Specification, v1.2 Formal: formal/99-07-29 Nature: Revision Severity: Significant 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); }; The AdaBroker team From: Victor Giddings To: ada-rtf@omg.org Subject: Proposed Resolution for 3706 Date: Sat, 25 Oct 2008 13:44:42 -0400 X-Mailer: Apple Mail (2.929.2) Disposition: Closed, no change OMG Issue No: 3706 Title: Mapping of CORBA.Request in Ada Source: École Nationale Supérieure des Télécommunications Sebastien Ponce 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); }; Discussion: 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 Victor Giddings victor_giddings@omg.org From: Victor Giddings To: ada-rtf@omg.org Subject: Proposed Resolution for 3706 Date: Sat, 25 Oct 2008 15:42:20 -0400 X-Mailer: Apple Mail (2.929.2) Disposition: Closed, no change OMG Issue No: 3706 Title: Mapping of CORBA.Request in Ada Source: École Nationale Supérieure des Télécommunications Sebastien Ponce 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); }; Discussion: 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 Victor Giddings victor_giddings@omg.org