The base class for the invocation object. More...
#include <Invocation_Base.h>
Public Member Functions | |
virtual | ~Invocation_Base (void) |
TAO_Stub * | stub (void) const |
Accessor and mutator methods. | |
CORBA::Object_ptr | forwarded_reference (void) |
void | forwarded_reference (CORBA::Object_ptr o) |
Accessor and mutator methods. | |
TAO_Service_Context & | request_service_context (void) |
Accessors for the service context list. | |
TAO_Service_Context & | reply_service_context (void) |
Accessor and mutator methods. | |
CORBA::Object_ptr | steal_forwarded_reference (void) |
Return the forwarded object location by loosing ownership. | |
CORBA::Object_ptr | effective_target (void) const |
Return the effective target of the invocation. | |
CORBA::Object_ptr | target (void) const |
Return the target object. | |
CORBA::Boolean | response_expected (void) const |
Does this invocation return a response? | |
GIOP::ReplyStatusType | reply_status (void) const |
Accessor of reply_status of the invocation. | |
void | reply_status (GIOP::ReplyStatusType s) |
Mutator of reply_status of the invocation. | |
TAO_Operation_Details & | operation_details (void) |
The operaton details of the invocation. | |
Protected Member Functions | |
Invocation_Base (CORBA::Object_ptr otarget, CORBA::Object_ptr target, TAO_Stub *stub, TAO_Operation_Details &op, bool response_expected, bool request_is_remote) | |
Protected Attributes | |
TAO_Operation_Details & | details_ |
The operation details on which we are operating on. | |
CORBA::Object_var | forwarded_to_ |
Forwarded object reference. | |
bool | response_expected_ |
Is response expected? | |
GIOP::ReplyStatusType | reply_status_ |
A GIOP reply status of the invocation. | |
Private Member Functions | |
Invocation_Base (const Invocation_Base &) | |
Invocation_Base & | operator= (const Invocation_Base &) |
Private Attributes | |
TAO_Stub * | stub_ |
CORBA::Object_ptr | otarget_ |
The original target on which the invocation was started. | |
CORBA::Object_ptr | target_ |
The effective target on which the invocation is on. | |
| |
ClientRequestInterceptor_Adapter * | cri_adapter_ |
The client requestor adapter. | |
ServerRequestInterceptor_Adapter * | sri_adapter_ |
The client requestor adapter. | |
size_t | stack_size_ |
The client requestor adapter. | |
TAO::Invocation_Status | invoke_status_ |
The client requestor adapter. | |
CORBA::Exception * | caught_exception_ |
Pointer to the caught exception. | |
bool const | is_remote_request_ |
void exception CORBA::Exception * | exception |
Change the exception status. | |
size_t & | stack_size (void) |
CORBA::Exception * | caught_exception (void) |
The client requestor adapter. | |
TAO::Invocation_Status | invoke_status (void) const |
Invocation status. | |
void | invoke_status (Invocation_Status s) |
Mutator to set the invocation status. | |
PortableInterceptor::ReplyStatus | pi_reply_status (void) const |
The client requestor adapter. | |
bool | is_remote_request () const |
Invocation_Status | send_request_interception (void) |
Invocation_Status | receive_reply_interception (void) |
Invocation_Status | receive_other_interception (void) |
PortableInterceptor::ReplyStatus | handle_any_exception (CORBA::Exception *e) |
PortableInterceptor::ReplyStatus | handle_all_exception (void) |
The client requestor adapter. |
The base class for the invocation object.
This class is the base of the invocation object hiererachy. This hierarchy is classified based on the type of invocation and the mode of invocation. One of the objects from the hierarchy is created on the stack for every invocation.
In addition this class encapsulates the essential details that are required for PortableInterceptors to function correctly. Further this class also provides some helper and accessor methods that are used by clients.
TAO::Invocation_Base::~Invocation_Base | ( | void | ) | [virtual] |
TAO::Invocation_Base::Invocation_Base | ( | CORBA::Object_ptr | otarget, | |
CORBA::Object_ptr | target, | |||
TAO_Stub * | stub, | |||
TAO_Operation_Details & | op, | |||
bool | response_expected, | |||
bool | request_is_remote | |||
) | [protected] |
otarget | The original target on which this invocation was started. | |
target | the target on which this invocation is flowing ie. the effective target | |
op | operation details of the invocation on target | |
response_expected | flag to indicate whether the operation encapsulated by op returns a response or not. |
TAO::Invocation_Base::Invocation_Base | ( | const Invocation_Base & | ) | [private] |
CORBA::Exception * TAO::Invocation_Base::caught_exception | ( | void | ) | [inline] |
The client requestor adapter.
CORBA::Object_ptr TAO::Invocation_Base::effective_target | ( | void | ) | const [inline] |
Return the effective target of the invocation.
Please see the PortableInterceptor specification in the CORBA spec to understand what effective target means.
void TAO::Invocation_Base::forwarded_reference | ( | CORBA::Object_ptr | o | ) | [inline] |
Accessor and mutator methods.
CORBA::Object_ptr TAO::Invocation_Base::forwarded_reference | ( | void | ) | [inline] |
Accessor and mutator methods for forwarded object locations. These access methods have to be public so that the PortableInterceptor can use them
PortableInterceptor::ReplyStatus TAO::Invocation_Base::handle_all_exception | ( | void | ) | [protected] |
The client requestor adapter.
PortableInterceptor::ReplyStatus TAO::Invocation_Base::handle_any_exception | ( | CORBA::Exception * | e | ) | [protected] |
Helper methods to handle interception calls when exceptions are thrown by the PortableInterceptor.
void TAO::Invocation_Base::invoke_status | ( | Invocation_Status | s | ) | [inline] |
Mutator to set the invocation status.
TAO::Invocation_Status TAO::Invocation_Base::invoke_status | ( | void | ) | const [inline] |
Invocation status.
bool TAO::Invocation_Base::is_remote_request | ( | void | ) | const [inline] |
Accessor used to determine if the current invocation is part of a remote request, and if not, it will be considered to be part of a collocated request.
TAO_Operation_Details & TAO::Invocation_Base::operation_details | ( | void | ) | [inline] |
The operaton details of the invocation.
Invocation_Base& TAO::Invocation_Base::operator= | ( | const Invocation_Base & | ) | [private] |
PortableInterceptor::ReplyStatus TAO::Invocation_Base::pi_reply_status | ( | void | ) | const |
The client requestor adapter.
Invocation_Status TAO::Invocation_Base::receive_other_interception | ( | void | ) | [protected] |
Helper method to invoke receive_other interception call to all the registered interceptors.
Invocation_Status TAO::Invocation_Base::receive_reply_interception | ( | void | ) | [protected] |
Helper method to invoke receive_reply interception call to all the registered interceptors.
TAO_Service_Context & TAO::Invocation_Base::reply_service_context | ( | void | ) |
Accessor and mutator methods.
void TAO::Invocation_Base::reply_status | ( | GIOP::ReplyStatusType | s | ) | [inline] |
Mutator of reply_status of the invocation.
GIOP::ReplyStatusType TAO::Invocation_Base::reply_status | ( | void | ) | const [inline] |
Accessor of reply_status of the invocation.
TAO_Service_Context & TAO::Invocation_Base::request_service_context | ( | void | ) |
Accessors for the service context list.
The service context lists are actually cached elsewhere. Providing this accessor helps the PI to access this list in both remote and collocated mode.
CORBA::Boolean TAO::Invocation_Base::response_expected | ( | void | ) | const [inline] |
Does this invocation return a response?
Invocation_Status TAO::Invocation_Base::send_request_interception | ( | void | ) | [protected] |
Helper method to invoke send_request interception call to all the registered interceptors.
size_t & TAO::Invocation_Base::stack_size | ( | void | ) | [inline] |
Operations invoked by the PortableInterceptor::ClientRequestInfo object to get details about the operation and related stuff. Return a reference to the number of interceptors pushed on to the current interceptor flow stack.
CORBA::Object_ptr TAO::Invocation_Base::steal_forwarded_reference | ( | void | ) | [inline] |
Return the forwarded object location by loosing ownership.
TAO_Stub * TAO::Invocation_Base::stub | ( | void | ) | const [inline] |
Accessor and mutator methods.
CORBA::Object_ptr TAO::Invocation_Base::target | ( | void | ) | const [inline] |
Return the target object.
CORBA::Exception* TAO::Invocation_Base::caught_exception_ [private] |
Pointer to the caught exception.
ClientRequestInterceptor_Adapter* TAO::Invocation_Base::cri_adapter_ [protected] |
The client requestor adapter.
TAO_Operation_Details& TAO::Invocation_Base::details_ [protected] |
The operation details on which we are operating on.
void TAO::Invocation_Base::exception |
Change the exception status.
CORBA::Object_var TAO::Invocation_Base::forwarded_to_ [protected] |
Forwarded object reference.
TAO::Invocation_Status TAO::Invocation_Base::invoke_status_ [protected] |
The client requestor adapter.
bool const TAO::Invocation_Base::is_remote_request_ [private] |
Flag used to distinguish a remote invocation versus a collocated (thru-poa) invocation.
CORBA::Object_ptr TAO::Invocation_Base::otarget_ [private] |
The original target on which the invocation was started.
The following object reference pointers are *not* duplicated. They are cached for portable interceptors, and they just live for the lifetime of the request. Hence there is no point in duplicating the pointers.
GIOP::ReplyStatusType TAO::Invocation_Base::reply_status_ [protected] |
A GIOP reply status of the invocation.
bool TAO::Invocation_Base::response_expected_ [protected] |
Is response expected?
ServerRequestInterceptor_Adapter* TAO::Invocation_Base::sri_adapter_ [protected] |
The client requestor adapter.
size_t TAO::Invocation_Base::stack_size_ [protected] |
The client requestor adapter.
TAO_Stub* TAO::Invocation_Base::stub_ [private] |
CORBA::Object_ptr TAO::Invocation_Base::target_ [private] |
The effective target on which the invocation is on.