![]() |
Overview Represents a DII request. File name request.h Supported methods Request::_duplicate Request::_nil Request::add_in_arg Request::add_inout_arg Request::add_out_arg Request::arguments Request::contexts Request::ctx Request::env Request::exceptions Request::get_response Request::invoke Request::operation Request::poll_response Request::result Request::return_value Request::send_deferred Request::send_oneway Request::set_return_type Request::target
Intended Usage
The Request class provides the primary support for the Dynamic Invocation Interface (DII), which allows client applications to dynamically build and invoke requests on objects.
A Request object contains the following attributes:
- target
- A CORBA::Object object that is the target of the request.
- operation
- The unscoped name of the IDL operation that is executed by the request.
- arguments
- A CORBA::NVList object that describes the types of all the IDL operation's parameters, the values of the operation's in and inout parameters, and the variables in which the out parameter values are stored after the request is invoked.
- result
- A CORBA::NamedValue object that holds the result of the request after it is invoked.
- env
- A CORBA::Environment object that describes the client environment associated with the request. If an exception is raised by the request, it is reported in the client environment.
- exceptions
- An optional CORBA::ExceptionList object that describes the user-defined exceptions that the DII operation can throw. This object is essentially a list of TypeCodes for UserException subclasses.
- contexts
- An optional CORBA::ContextList object that lists the context strings that are sent with the DII operation. A ContextList object differs from a Context object in that a ContextList supplies only the context strings whose values are transmitted with the request, while Context is the object from which those context string values are obtained.
- ctx
- A CORBA::Context object that is passed when the request is invoked. For operations having no "context" clause in their IDL specification, this attribute is NULL.
The CORBA::Object::_create_request and CORBA::Object::_request methods can be used to create a Request object tailored to a specific IDL operation. These methods are invoked on the target object of the DII request. The _create_request method allows the Request object to be created and fully initialized at once. The _request method requires additional initialization after construction, using methods provided by the Request class. The Request class provides methods to get and set attributes, send a synchronous or asynchronous DII request, and receive the result of an asynchronous request. For additional information, see the CORBA::Object::_create_request and CORBA::Object::_request method descriptions.