There are two ways to build a Request object. Both begin by calling the create_request method defined by the SOMDObject class. The IDL prototype for create_request is as follows:
ORBStatus create_request(
in Context ctx,
in Identifier operation,
in NVList arg_list,
inout NamedValue result,
out Request request,
in Flags req_flags );
The arg_list can be constructed using the procedures described above and is passed to the Request object in the create_request call. Alternatively, arg_list can be specified as NULL and repetitive calls to add_arg can be used to specify the argument list. The add_arg method, defined by the Request class, has the following IDL prototype:
ORBStatus add_arg(
in Identifier name,
in TypeCode arg_type,
in void* value,
in long len,
in Flags arg_flags );