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

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 Methods

 TAO_ClientRequestInfo (void)
virtual CORBA::ULong request_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return an ID unique to the current request. This request ID may or may not be the same as the GIOP request ID. More...

virtual char * operation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the operation name for the current request. More...

virtual Dynamic::ParameterListarguments (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the list of arguments passed to the current operation. More...

virtual Dynamic::ExceptionListexceptions (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the list of exceptions the current operation is capable of throwing. More...

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::Anyresult (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 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. More...

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

virtual CORBA::Short sync_scope (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 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. More...

virtual PortableInterceptor::ReplyStatus reply_status (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the reply status for the current request. Statuses can be PortableInterceptor::SUCCESSFUL, SYSTEM_EXCEPTION, USER_EXCEPTION, LOCATION_FORWARD, LOCATION_FORWARD_PERMANENT, TRANSPORT_RETRY. More...

virtual CORBA::Object_ptr forward_reference (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 If the reply status is PortableInterceptor::LOCATION_FORWARD or PortableInterceptor::LOCATION_FORWARD_PERMANENT, return the object reference to which the request was forwarded. More...

virtual CORBA::Anyget_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)
 Return the IOP::ServiceContext with the given IOP::ServiceId from the request service context list. More...

virtual IOP::ServiceContextget_reply_service_context (IOP::ServiceId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the IOP::ServiceContext with the given IOP::ServiceId from the reply service context list. More...

virtual CORBA::Object_ptr target (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the (initial, non-forwarded, or permanently forwarded) object reference of the target. More...

virtual CORBA::Object_ptr effective_target (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the object reference for the current target. The target may change in the even of a location forward. More...

virtual IOP::TaggedProfileeffective_profile (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::Anyreceived_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. More...

virtual IOP::TaggedComponentget_effective_component (IOP::ComponentId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the first IOP::TaggedComponent that matches the given IOP::ComponentId in the object reference for the current target. More...

virtual IOP::TaggedComponentSeqget_effective_components (IOP::ComponentId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return all IOP::TaggedComponent(s) that match the given IOP::ComponentId in the object reference for the current target. More...

virtual CORBA::Policy_ptr get_request_policy (CORBA::PolicyType type ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the policy of the given type in effect for the current request. More...

virtual void add_request_service_context (const IOP::ServiceContext &service_context, CORBA::Boolean replace ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Add the IOP::ServiceContext to the request (outgoing) IOP::ServiceContextList. More...

void info (TAO_ClientRequestInfo_i *info)
 Set the ClientRequestInfo implementation which this class forwards all method call to. More...

TAO_ClientRequestInfo_iinfo (void) const
 Get the ClientRequestInfo implementation which this class forwards all method call to. More...


Private Methods

void check_validity (ACE_ENV_SINGLE_ARG_DECL)
 Check if this ClientRequestInfo object is called within the context of a request. More...


Private Attributes

TAO_ClientRequestInfo_iinfo_
 Pointer to the object that actually implements the ClientRequestInfo functionality. More...


Detailed Description

Implementation of the PortableInterceptor::ClientRequestInfo interface.

This class forwards all method calls to the underlying ClientRequestInfo implementation.

An instance of this class is placed in TSS, where as the underlying implementation is instantiated on the stack during each CORBA request. During each request invocation, a pointer to the stack instantiated implementation is placed in the instance of this class.

This may seem unnecessary. However, it is necessary to avoid instantiating an object that inherits from CORBA::Object in the critical path. Such an instantiation would cause a lock to be initialized (not acquired) in the critical path, which can degrade performance significantly.


Constructor & Destructor Documentation

TAO_ClientRequestInfo::TAO_ClientRequestInfo void   
 


Member Function Documentation

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

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

Reimplemented from PortableInterceptor::ClientRequestInfo.

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.

Reimplemented from PortableInterceptor::RequestInfo.

ACE_INLINE 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]
 

Reimplemented from PortableInterceptor::RequestInfo.

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

Reimplemented from 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.

Reimplemented from PortableInterceptor::ClientRequestInfo.

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.

Reimplemented from 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 PortableInterceptor::LOCATION_FORWARD_PERMANENT, return the object reference to which the request was forwarded.

Reimplemented from PortableInterceptor::RequestInfo.

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

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

Reimplemented from PortableInterceptor::ClientRequestInfo.

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

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

Reimplemented from PortableInterceptor::ClientRequestInfo.

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

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

Reimplemented from PortableInterceptor::RequestInfo.

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

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

Reimplemented from PortableInterceptor::ClientRequestInfo.

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

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

Reimplemented from PortableInterceptor::RequestInfo.

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

Reimplemented from PortableInterceptor::RequestInfo.

ACE_INLINE TAO_ClientRequestInfo_i * TAO_ClientRequestInfo::info void    const
 

Get the ClientRequestInfo implementation which this class forwards all method call to.

ACE_INLINE void TAO_ClientRequestInfo::info TAO_ClientRequestInfo_i   info
 

Set the ClientRequestInfo implementation which this class forwards all method call to.

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

Return the operation name for the current request.

Reimplemented from PortableInterceptor::RequestInfo.

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

Reimplemented from PortableInterceptor::RequestInfo.

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.

Reimplemented from 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.

Reimplemented from 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, LOCATION_FORWARD_PERMANENT, TRANSPORT_RETRY.

Reimplemented from 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.

Reimplemented from 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.

Reimplemented from PortableInterceptor::RequestInfo.

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.

Reimplemented from PortableInterceptor::RequestInfo.

CORBA::Short 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.

Reimplemented from PortableInterceptor::RequestInfo.

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.

Reimplemented from PortableInterceptor::ClientRequestInfo.


Member Data Documentation

TAO_ClientRequestInfo_i* TAO_ClientRequestInfo::info_ [private]
 

Pointer to the object that actually implements the ClientRequestInfo functionality.


The documentation for this class was generated from the following files:
Generated on Thu Oct 10 18:25:53 2002 for TAO by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001