Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

TAO_ClientRequestInfo Class Reference

Implementation of the PortableInterceptor::ClientRequestInfo interface. More...

#include <ClientRequestInfo.h>

Inheritance diagram for TAO_ClientRequestInfo:

Inheritance graph
[legend]
Collaboration diagram for TAO_ClientRequestInfo:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_ClientRequestInfo (TAO::Invocation_Base *invocation)
virtual CORBA::ULong request_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual char * operation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the operation name for the current request.
virtual Dynamic::ParameterList * arguments (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the list of arguments passed to the current operation.
virtual Dynamic::ExceptionList * exceptions (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual Dynamic::ContextListcontexts (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual Dynamic::RequestContextoperation_context (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::Any * result (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::Boolean response_expected (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Returns true for a two-way operation, and false otherwise.
virtual Messaging::SyncScope sync_scope (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual PortableInterceptor::ReplyStatus reply_status (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the reply status for the current request.
virtual CORBA::Object_ptr forward_reference (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::Any * get_slot (PortableInterceptor::SlotId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot)
virtual IOP::ServiceContextget_request_service_context (IOP::ServiceId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual IOP::ServiceContextget_reply_service_context (IOP::ServiceId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::Object_ptr target (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::Object_ptr effective_target (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual IOP::TaggedProfileeffective_profile (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::Any * received_exception (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual char * received_exception_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the repository ID for the received exception.
virtual IOP::TaggedComponentget_effective_component (IOP::ComponentId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual IOP::TaggedComponentSeqget_effective_components (IOP::ComponentId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::Policy_ptr get_request_policy (CORBA::PolicyType type ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual void add_request_service_context (const IOP::ServiceContext &service_context, CORBA::Boolean replace ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
void tao_ft_expiration_time (TimeBase::TimeT time)
 Set the absolute FT expiration time for this request.
TimeBase::TimeT tao_ft_expiration_time (void) const
 Get the absolute FT expiration time for this request.
void tao_ft_retention_id (CORBA::Long request_id)
 Set the FT request retention ID for this request.
CORBA::Long tao_ft_retention_id (void) const
 Get the FT request retention ID for this request.

Private Member Functions

bool parameter_list (Dynamic::ParameterList &param_list)
bool exception_list (Dynamic::ExceptionList &exception_list)
bool result (CORBA::Any *any)
void check_validity (ACE_ENV_SINGLE_ARG_DECL)
void setup_picurrent (void)
IOP::ServiceContextget_service_context_i (TAO_Service_Context &service_context_list, IOP::ServiceId id ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
 Helper method to get the request and response service contexts.

Private Attributes

TAO::Invocation_Baseinvocation_
 Pointer to the invocation object.
TAO::PICurrent_Impl rs_pi_current_
TAO::PICurrent_Copy_Callback copy_callback_

Detailed Description

Implementation of the PortableInterceptor::ClientRequestInfo interface.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_ClientRequestInfo::TAO_ClientRequestInfo TAO::Invocation_Base invocation  ) 
 


Member Function Documentation

void TAO_ClientRequestInfo::add_request_service_context const IOP::ServiceContext service_context,
CORBA::Boolean replace  ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException) [virtual]
 

Add the IOP::ServiceContext to the request (outgoing) IOP::ServiceContextList.

Dynamic::ParameterList * TAO_ClientRequestInfo::arguments ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Return the list of arguments passed to the current operation.

Implements PortableInterceptor::RequestInfo.

void TAO_ClientRequestInfo::check_validity ACE_ENV_SINGLE_ARG_DECL   )  [private]
 

Check if this ClientRequestInfo object is called within the context of a request.

Dynamic::ContextList * TAO_ClientRequestInfo::contexts ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Implements PortableInterceptor::RequestInfo.

IOP::TaggedProfile * TAO_ClientRequestInfo::effective_profile ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Implements PortableInterceptor::ClientRequestInfo.

CORBA::Object_ptr TAO_ClientRequestInfo::effective_target ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Return the object reference for the current target. The target may change in the even of a location forward.

Implements PortableInterceptor::ClientRequestInfo.

bool TAO_ClientRequestInfo::exception_list Dynamic::ExceptionList &  exception_list  )  [private]
 

Dynamic::ExceptionList * TAO_ClientRequestInfo::exceptions ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Return the list of exceptions the current operation is capable of throwing.

Implements PortableInterceptor::RequestInfo.

CORBA::Object_ptr TAO_ClientRequestInfo::forward_reference ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

If the reply status is PortableInterceptor::LOCATION_FORWARD or return the object reference to which the request was forwarded.

Implements PortableInterceptor::RequestInfo.

IOP::TaggedComponent * TAO_ClientRequestInfo::get_effective_component IOP::ComponentId id  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException) [virtual]
 

Return the first IOP::TaggedComponent that matches the given IOP::ComponentId in the object reference for the current target.

IOP::TaggedComponentSeq * TAO_ClientRequestInfo::get_effective_components IOP::ComponentId id  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException) [virtual]
 

Return all IOP::TaggedComponent(s) that match the given IOP::ComponentId in the object reference for the current target.

IOP::ServiceContext * TAO_ClientRequestInfo::get_reply_service_context IOP::ServiceId id  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException) [virtual]
 

Return the IOP::ServiceContext with the given IOP::ServiceId from the reply service context list.

CORBA::Policy_ptr TAO_ClientRequestInfo::get_request_policy CORBA::PolicyType type  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException) [virtual]
 

Return the policy of the given type in effect for the current request.

IOP::ServiceContext * TAO_ClientRequestInfo::get_request_service_context IOP::ServiceId id  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException) [virtual]
 

Return the IOP::ServiceContext with the given IOP::ServiceId from the request service context list.

IOP::ServiceContext * TAO_ClientRequestInfo::get_service_context_i TAO_Service_Context service_context_list,
IOP::ServiceId id  ACE_ENV_ARG_DECL
throw (CORBA::SystemException) [private]
 

Helper method to get the request and response service contexts.

CORBA::Any * TAO_ClientRequestInfo::get_slot PortableInterceptor::SlotId id  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException, PortableInterceptor::InvalidSlot) [virtual]
 

char * TAO_ClientRequestInfo::operation ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Return the operation name for the current request.

Implements PortableInterceptor::RequestInfo.

Dynamic::RequestContext * TAO_ClientRequestInfo::operation_context ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Implements PortableInterceptor::RequestInfo.

bool TAO_ClientRequestInfo::parameter_list Dynamic::ParameterList &  param_list  )  [private]
 

CORBA::Any * TAO_ClientRequestInfo::received_exception ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Note:
There is no trivial way to extract the exception from an Any.

Implements PortableInterceptor::ClientRequestInfo.

char * TAO_ClientRequestInfo::received_exception_id ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Return the repository ID for the received exception.

Implements PortableInterceptor::ClientRequestInfo.

PortableInterceptor::ReplyStatus TAO_ClientRequestInfo::reply_status ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Return the reply status for the current request.

Statuses can be PortableInterceptor::SUCCESSFUL, SYSTEM_EXCEPTION, USER_EXCEPTION, LOCATION_FORWARD, TRANSPORT_RETRY, UNKNOWN.

Implements PortableInterceptor::RequestInfo.

CORBA::ULong TAO_ClientRequestInfo::request_id ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Return an ID unique to the current request. This request ID may or may not be the same as the GIOP request ID.

Implements PortableInterceptor::RequestInfo.

CORBA::Boolean TAO_ClientRequestInfo::response_expected ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Returns true for a two-way operation, and false otherwise.

Implements PortableInterceptor::RequestInfo.

bool TAO_ClientRequestInfo::result CORBA::Any *  any  )  [private]
 

CORBA::Any * TAO_ClientRequestInfo::result ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Return the result of the current request. If there is no return value then an Any with tk_void TypeCode is returned. This is method is not valid for oneway operations.

Implements PortableInterceptor::RequestInfo.

void TAO_ClientRequestInfo::setup_picurrent void   )  [private]
 

Setup thread scope and request scope PortableInterceptor::Current objects.

Messaging::SyncScope TAO_ClientRequestInfo::sync_scope ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Return the sync_scope policy value for the current one-way operation. If the operation is not a one-way, a CORBA::BAD_INV_ORDER exception is thrown.

Implements PortableInterceptor::RequestInfo.

TimeBase::TimeT TAO_ClientRequestInfo::tao_ft_expiration_time void   )  const
 

Get the absolute FT expiration time for this request.

void TAO_ClientRequestInfo::tao_ft_expiration_time TimeBase::TimeT  time  ) 
 

Set the absolute FT expiration time for this request.

CORBA::Long TAO_ClientRequestInfo::tao_ft_retention_id void   )  const
 

Get the FT request retention ID for this request.

void TAO_ClientRequestInfo::tao_ft_retention_id CORBA::Long  request_id  ) 
 

Set the FT request retention ID for this request.

CORBA::Object_ptr TAO_ClientRequestInfo::target ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Return the (initial, non-forwarded, or permanently forwarded) object reference of the target.

Implements PortableInterceptor::ClientRequestInfo.


Member Data Documentation

TAO::PICurrent_Copy_Callback TAO_ClientRequestInfo::copy_callback_ [private]
 

This callback object deep copies the slot table from the TSC to the RSC.

As an optimization, the TSC's slot table is initially only shallowed copied to the RSC. If the TSC's slot table will be modified, e.g. via PICurrent::set_slot(), it's slot table must be deep copied to the RSC before actually modifying that slot table. This is necessary since the RSC is read-only on the client side, meaning that changes in the TSC that occur after instantiation of the RSC must not be reflected in the RSC.

TAO::Invocation_Base* TAO_ClientRequestInfo::invocation_ [private]
 

Pointer to the invocation object.

TAO::PICurrent_Impl TAO_ClientRequestInfo::rs_pi_current_ [private]
 

The "Request Scope Current" (RSC) object, as required by Portable Interceptors.


The documentation for this class was generated from the following files:
Generated on Tue Dec 20 23:36:51 2005 for TAO_PI by  doxygen 1.3.9.1