Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO::Invocation_Base Class Reference

The base class for the invocation object. More...

#include <Invocation_Base.h>

Inheritance diagram for TAO::Invocation_Base:

Inheritance graph
[legend]
Collaboration diagram for TAO::Invocation_Base:

Collaboration graph
[legend]
List of all members.

[NOHEADER]

char * operation_name (void)
 Return the name of the operation.

virtual Dynamic::ParameterListarguments (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
 Return the list of arguments as a ParameterList.

Dynamic::ExceptionListexceptions (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
 Return the list of exceptions declared as a ExceptionList.

CORBA::Anyresult (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
 Return the result of the operation as an Any.

CORBA::Octet sync_scope (void) const
 Return the syncscope policy of the operation.

Invocation_Status send_request_interception (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
Invocation_Status receive_reply_interception (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
Invocation_Status receive_other_interception (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
PortableInterceptor::ReplyStatus handle_any_exception (CORBA::Exception *e ACE_ENV_ARG_DECL)
PortableInterceptor::ReplyStatus handle_all_exception (ACE_ENV_SINGLE_ARG_DECL)
 Return the name of the operation.

ClientRequestInterceptor_Adapter adapter_
TAO_ClientRequestInfo_i req_info_
 Return the name of the operation.


Public Methods

virtual ~Invocation_Base (void)
TAO_ORB_Coreorb_core (void) const
 Accessor and mutator methods.

TAO_Stubstub (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_Contextrequest_service_context (void)
 Accessors for the service context list.

TAO_Service_Contextreply_service_context (void)
 Accessor and mutator methods.

CORBA::Object_ptr steal_forwarded_reference (void)
 Return the forwarded object location by loosing ownership.

bool is_forwarded (void) const
 Did the invocation got forwarded to a new location?

void reply_received (Invocation_Status s)
 Mutator to set the reply status of the invocation.

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?


Protected Methods

 Invocation_Base (CORBA::Object_ptr otarget, CORBA::Object_ptr target, TAO_Stub *stub, TAO_Operation_Details &op, bool response_expected)

Protected Attributes

TAO_Operation_Detailsdetails_
 The operation details on which we are operating on.

CORBA::Object_var forwarded_to_
 Forwarded object reference.

bool response_expected_
 Is response expected?


Private Methods

Invocation_Base & operator= (const Invocation_Base &)

Private Attributes

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.

TAO_ORB_Coreorb_core_
 Cache the ORB_Core.

TAO_Stubstub_
 The original target on which the invocation was started.


Detailed Description

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 hiererachy 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.


Constructor & Destructor Documentation

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
[protected]
 

Parameters:
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.


Member Function Documentation

Dynamic::ParameterList * TAO::Invocation_Base::arguments ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException) [virtual]
 

Return the list of arguments as a ParameterList.

It is declared virtual so that the DynamicInterface can use its own way of creating the ParameterList.

ACE_INLINE CORBA::Object_ptr TAO::Invocation_Base::effective_target void    const
 

Return the effective target of the invocation.

Please see the PortableInterceptor specification in the CORBA spec to understand what effective target means.

Dynamic::ExceptionList * TAO::Invocation_Base::exceptions ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException)
 

Return the list of exceptions declared as a ExceptionList.

ACE_INLINE void TAO::Invocation_Base::forwarded_reference CORBA::Object_ptr    o
 

Accessor and mutator methods.

ACE_INLINE CORBA::Object_ptr TAO::Invocation_Base::forwarded_reference void   
 

These access methods have to be public so that the PortableInterceptor can use them

PortableInterceptor::ReplyStatus TAO::Invocation_Base::handle_all_exception ACE_ENV_SINGLE_ARG_DECL    [protected]
 

Return the name of the operation.

Operations invoked by the PortableInterceptor::ClientRequestInfo object to get details about the operation and related stuff.

PortableInterceptor::ReplyStatus TAO::Invocation_Base::handle_any_exception CORBA::Exception *e    ACE_ENV_ARG_DECL [protected]
 

Helper methods to handle interception calls when exceptions are thrown by the PortableInterceptor.

ACE_INLINE bool TAO::Invocation_Base::is_forwarded void    const
 

Did the invocation got forwarded to a new location?

char * TAO::Invocation_Base::operation_name void   
 

Return the name of the operation.

Operations invoked by the PortableInterceptor::ClientRequestInfo object to get details about the operation and related stuff.

Invocation_Base& TAO::Invocation_Base::operator= const Invocation_Base &    [private]
 

ACE_INLINE TAO_ORB_Core * TAO::Invocation_Base::orb_core void    const
 

Accessor and mutator methods.

Invocation_Status TAO::Invocation_Base::receive_other_interception ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException) [protected]
 

Helper method to invoke receive_other interception call to all the registered interceptors.

Invocation_Status TAO::Invocation_Base::receive_reply_interception ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException) [protected]
 

Helper method to invoke receive_reply interception call to all the registered interceptors.

ACE_INLINE void TAO::Invocation_Base::reply_received Invocation_Status    s
 

Mutator to set the reply status of the invocation.

TAO_Service_Context & TAO::Invocation_Base::reply_service_context void   
 

Accessor and mutator methods.

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.

ACE_INLINE CORBA::Boolean TAO::Invocation_Base::response_expected void    const
 

Does this invocation return a response?

CORBA::Any * TAO::Invocation_Base::result ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException)
 

Return the result of the operation as an Any.

Invocation_Status TAO::Invocation_Base::send_request_interception ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException) [protected]
 

Helper method to invoke send_request interception call to all the registered interceptors.

ACE_INLINE CORBA::Object_ptr TAO::Invocation_Base::steal_forwarded_reference void   
 

Return the forwarded object location by loosing ownership.

ACE_INLINE TAO_Stub * TAO::Invocation_Base::stub void    const
 

Accessor and mutator methods.

CORBA::Octet TAO::Invocation_Base::sync_scope void    const
 

Return the syncscope policy of the operation.

ACE_INLINE CORBA::Object_ptr TAO::Invocation_Base::target void    const
 

Return the target object.


Member Data Documentation

ClientRequestInterceptor_Adapter TAO::Invocation_Base::adapter_ [protected]
 

The client requestor adapter and the request info object for making calls on all the registered interceptors.

TAO_Operation_Details& TAO::Invocation_Base::details_ [protected]
 

The operation details on which we are operating on.

CORBA::Object_var TAO::Invocation_Base::forwarded_to_ [protected]
 

Forwarded object reference.

TAO_ORB_Core* TAO::Invocation_Base::orb_core_ [private]
 

Cache the ORB_Core.

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.

TAO_ClientRequestInfo_i TAO::Invocation_Base::req_info_ [protected]
 

Return the name of the operation.

Operations invoked by the PortableInterceptor::ClientRequestInfo object to get details about the operation and related stuff.

bool TAO::Invocation_Base::response_expected_ [protected]
 

Is response expected?

TAO_Stub* TAO::Invocation_Base::stub_ [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.

CORBA::Object_ptr TAO::Invocation_Base::target_ [private]
 

The effective target on which the invocation is on.


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 17:46:03 2004 for TAO by doxygen1.2.18