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 () throw (CORBA::SystemException)
virtual char * operation () throw (CORBA::SystemException)
 Return the operation name for the current request.
virtual Dynamic::ParameterList * arguments () throw (CORBA::SystemException)
 Return the list of arguments passed to the current operation.
virtual Dynamic::ExceptionList * exceptions () throw (CORBA::SystemException)
virtual Dynamic::ContextListcontexts () throw (CORBA::SystemException)
virtual Dynamic::RequestContextoperation_context () throw (CORBA::SystemException)
virtual CORBA::Any * result () throw (CORBA::SystemException)
virtual CORBA::Boolean response_expected () throw (CORBA::SystemException)
 Returns true for a two-way operation, and false otherwise.
virtual Messaging::SyncScope sync_scope () throw (CORBA::SystemException)
virtual PortableInterceptor::ReplyStatus reply_status () throw (CORBA::SystemException)
 Return the reply status for the current request.
virtual CORBA::Object_ptr forward_reference () throw (CORBA::SystemException)
virtual CORBA::Any * get_slot (PortableInterceptor::SlotId id) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot)
virtual IOP::ServiceContextget_request_service_context (IOP::ServiceId id) throw (CORBA::SystemException)
virtual IOP::ServiceContextget_reply_service_context (IOP::ServiceId id) throw (CORBA::SystemException)
virtual CORBA::Object_ptr target () throw (CORBA::SystemException)
virtual CORBA::Object_ptr effective_target () throw (CORBA::SystemException)
virtual IOP::TaggedProfileeffective_profile () throw (CORBA::SystemException)
virtual CORBA::Any * received_exception () throw (CORBA::SystemException)
virtual char * received_exception_id () throw (CORBA::SystemException)
 Return the repository ID for the received exception.
virtual IOP::TaggedComponentget_effective_component (IOP::ComponentId id) throw (CORBA::SystemException)
virtual IOP::TaggedComponentSeqget_effective_components (IOP::ComponentId id) throw (CORBA::SystemException)
virtual CORBA::Policy_ptr get_request_policy (CORBA::PolicyType type) throw (CORBA::SystemException)
virtual void add_request_service_context (const IOP::ServiceContext &service_context, CORBA::Boolean replace) 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 ()
void setup_picurrent (void)
IOP::ServiceContextget_service_context_i (TAO_Service_Context &service_context_list, IOP::ServiceId id) 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 
) throw (CORBA::SystemException) [virtual]

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

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

Return the list of arguments passed to the current operation.

Implements PortableInterceptor::RequestInfo.

void TAO_ClientRequestInfo::check_validity (  )  [private]

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

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

Implements PortableInterceptor::RequestInfo.

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

Implements PortableInterceptor::ClientRequestInfo.

CORBA::Object_ptr TAO_ClientRequestInfo::effective_target (  )  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 (  )  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 (  )  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  )  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  )  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  )  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  )  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  )  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 
) throw (CORBA::SystemException) [private]

Helper method to get the request and response service contexts.

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

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

Return the operation name for the current request.

Implements PortableInterceptor::RequestInfo.

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

Implements PortableInterceptor::RequestInfo.

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

CORBA::Any * TAO_ClientRequestInfo::received_exception (  )  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 (  )  throw (CORBA::SystemException) [virtual]

Return the repository ID for the received exception.

Implements PortableInterceptor::ClientRequestInfo.

PortableInterceptor::ReplyStatus TAO_ClientRequestInfo::reply_status (  )  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 (  )  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 (  )  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 (  )  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 (  )  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 (  )  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 Wed Apr 19 03:33:46 2006 for TAO_PI by  doxygen 1.4.6-4