Previous | Table of Contents | Next |
The request operations (except create_request) are defined in terms of the Request pseudo-object. The Request routines use
the NVList definition defined in the preceding section.
module CORBA {
native OpaqueValue;
interface Request { // PIDL
void add_arg ( void get_response () raises (WrongTransaction);
in Identifier |
name, |
// argument name |
|||
in TypeCode | arg_type, | // argument datatype | |||
in OpaqueValue | value, | // argument value to be added | |||
in long | len, | // length/count of argument value | |||
in Flags | arg_flags | // argument flags | |||
); | |||||
void invoke ( | |||||
in Flags | invoke_flags | // invocation flags | |||
); | |||||
void delete (); | |||||
void send ( | |||||
in Flags | invoke_flags | // invocation flags | |||
); |
boolean poll_response();
Object sendp( );
void prepare(in Object p);
void sendc(in Object handler); }; };
In IDL, The native type OpaqueValue is used to identify the type of the implementation language representation of the value
that is to be passed as a parameter. For example in the C language this is the C language type (void *). Each language mapping
specifies what OpaqueValue maps to in that specific language.
For each Request pseudo-object instance, only one call to either the invoke or the send operations is legal during the lifetime
of the Request object. In addition, once a Request object was passed to one of the send_multiple_requests_* operations, neither
invoke nor send can be called, nor can it be passed in another invocation of send_multiple_request_* operation.Violations
raise BAD_INV_ORDER with standard minor code 5.