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

TAO_ClientRequestInfo_i Class Reference

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

#include <ClientRequestInfo_i.h>

Collaboration diagram for TAO_ClientRequestInfo_i:

Collaboration graph
[legend]
List of all members.

Stub helper methods

The following methods are used in the implementation of the Stubs, they are not part of the ClientRequestInfo interface, but an extension used internally by TAO.

void response_expected (CORBA::Boolean flag)
void reply_status (TAO::Invocation_Status s)
 Set the status of the received reply.

void reply_status (int s)
void forward_reference (PortableInterceptor::ForwardRequest &exc)
void exception CORBA::Exceptionexception
 Change the exception status.


Public Methods

 TAO_ClientRequestInfo_i (TAO::Invocation_Base *invocation)
 Constructor from concrete interface.

 TAO_ClientRequestInfo_i (TAO::Invocation_Base *invocation, CORBA::AbstractBase_ptr abstract_target, CORBA::Boolean response_expected=1)
 Constructor from abstract interface.

virtual ~TAO_ClientRequestInfo_i (void)
 Destructor.

CORBA::ULong request_id (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
char * operation (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
 Return the operation name for the current request.

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

virtual Dynamic::ExceptionListexceptions (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
Dynamic::ContextListcontexts (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
Dynamic::RequestContextoperation_context (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
virtual CORBA::Anyresult (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
CORBA::Boolean response_expected (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
 Returns true for a two-way operation, and false otherwise.

Messaging::SyncScope sync_scope (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
PortableInterceptor::ReplyStatus reply_status (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
CORBA::Object_ptr forward_reference (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
CORBA::Anyget_slot (PortableInterceptor::SlotId id ACE_ENV_ARG_DECL) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot)
IOP::ServiceContextget_request_service_context (IOP::ServiceId id ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
IOP::ServiceContextget_reply_service_context (IOP::ServiceId id ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
CORBA::Object_ptr target (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
CORBA::Object_ptr effective_target (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
IOP::TaggedProfileeffective_profile (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
CORBA::Anyreceived_exception (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
char * received_exception_id (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
 Return the repository ID for the received exception.

IOP::TaggedComponentget_effective_component (IOP::ComponentId id ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
IOP::TaggedComponentSeqget_effective_components (IOP::ComponentId id ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
CORBA::Policy_ptr get_request_policy (CORBA::PolicyType type ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
void add_request_service_context (const IOP::ServiceContext &service_context, CORBA::Boolean replace ACE_ENV_ARG_DECL) throw (CORBA::SystemException)

Protected Methods

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.

TAO_Stubstub (void) const

Protected Attributes

TAO::Invocation_Baseinvocation_
 Pointer to the invocation object.

CORBA::AbstractBase_ptr abstract_target_
 Reference to the abstract interface target.

CORBA::Exceptioncaught_exception_
 Pointer to the caught exception.

PortableInterceptor::ReplyStatus reply_status_
 Reply status for the current request.

TAO_PICurrent_Impl rs_pi_current_

Detailed Description

Implementation of the PortableInterceptor::ClientRequestInfo interface.


Constructor & Destructor Documentation

TAO_ClientRequestInfo_i::TAO_ClientRequestInfo_i TAO::Invocation_Base   invocation
 

Constructor from concrete interface.

TAO_ClientRequestInfo_i::TAO_ClientRequestInfo_i TAO::Invocation_Base   invocation,
CORBA::AbstractBase_ptr    abstract_target,
CORBA::Boolean    response_expected = 1
 

Constructor from abstract interface.

TAO_ClientRequestInfo_i::~TAO_ClientRequestInfo_i void    [virtual]
 

Destructor.


Member Function Documentation

void TAO_ClientRequestInfo_i::add_request_service_context const IOP::ServiceContext   service_context,
CORBA::Boolean replace    ACE_ENV_ARG_DECL
throw (CORBA::SystemException)
 

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

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

Return the list of arguments passed to the current operation.

Dynamic::ContextList * TAO_ClientRequestInfo_i::contexts ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException)
 

IOP::TaggedProfile * TAO_ClientRequestInfo_i::effective_profile ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException)
 

CORBA::Object_ptr TAO_ClientRequestInfo_i::effective_target ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException)
 

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

Dynamic::ExceptionList * TAO_ClientRequestInfo_i::exceptions ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException) [virtual]
 

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

ACE_INLINE void TAO_ClientRequestInfo_i::forward_reference PortableInterceptor::ForwardRequest   exc
 

Extract the forward object reference from the PortableInterceptor::ForwardRequest exception, and set the reply status flag accordingly.

CORBA::Object_ptr TAO_ClientRequestInfo_i::forward_reference ACE_ENV_SINGLE_ARG_DECL    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.

IOP::TaggedComponent * TAO_ClientRequestInfo_i::get_effective_component IOP::ComponentId id    ACE_ENV_ARG_DECL throw (CORBA::SystemException)
 

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

IOP::TaggedComponentSeq * TAO_ClientRequestInfo_i::get_effective_components IOP::ComponentId id    ACE_ENV_ARG_DECL throw (CORBA::SystemException)
 

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

IOP::ServiceContext * TAO_ClientRequestInfo_i::get_reply_service_context IOP::ServiceId id    ACE_ENV_ARG_DECL throw (CORBA::SystemException)
 

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

CORBA::Policy_ptr TAO_ClientRequestInfo_i::get_request_policy CORBA::PolicyType type    ACE_ENV_ARG_DECL throw (CORBA::SystemException)
 

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

IOP::ServiceContext * TAO_ClientRequestInfo_i::get_request_service_context IOP::ServiceId id    ACE_ENV_ARG_DECL throw (CORBA::SystemException)
 

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

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

Helper method to get the request and response service contexts.

CORBA::Any * TAO_ClientRequestInfo_i::get_slot PortableInterceptor::SlotId id    ACE_ENV_ARG_DECL throw (CORBA::SystemException, PortableInterceptor::InvalidSlot)
 

char * TAO_ClientRequestInfo_i::operation ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException)
 

Return the operation name for the current request.

Dynamic::RequestContext * TAO_ClientRequestInfo_i::operation_context ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException)
 

CORBA::Any * TAO_ClientRequestInfo_i::received_exception ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException)
 

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

char * TAO_ClientRequestInfo_i::received_exception_id ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException)
 

Return the repository ID for the received exception.

void TAO_ClientRequestInfo_i::reply_status int    s
 

Set the flag that states whether or not a response is expected. For example, no response is expected in a one-way operation.

void TAO_ClientRequestInfo_i::reply_status TAO::Invocation_Status    s
 

Set the status of the received reply.

PortableInterceptor::ReplyStatus TAO_ClientRequestInfo_i::reply_status ACE_ENV_SINGLE_ARG_DECL    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.

CORBA::ULong TAO_ClientRequestInfo_i::request_id ACE_ENV_SINGLE_ARG_DECL    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.

ACE_INLINE void TAO_ClientRequestInfo_i::response_expected CORBA::Boolean    flag
 

Set the flag that states whether or not a response is expected. For example, no response is expected in a one-way operation.

CORBA::Boolean TAO_ClientRequestInfo_i::response_expected ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException)
 

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

CORBA::Any * TAO_ClientRequestInfo_i::result ACE_ENV_SINGLE_ARG_DECL    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.

void TAO_ClientRequestInfo_i::setup_picurrent void    [protected]
 

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

TAO_Stub* TAO_ClientRequestInfo_i::stub void    const [protected]
 

Messaging::SyncScope TAO_ClientRequestInfo_i::sync_scope ACE_ENV_SINGLE_ARG_DECL    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.

CORBA::Object_ptr TAO_ClientRequestInfo_i::target ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException)
 

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


Member Data Documentation

CORBA::AbstractBase_ptr TAO_ClientRequestInfo_i::abstract_target_ [protected]
 

Reference to the abstract interface target.

CORBA::Exception* TAO_ClientRequestInfo_i::caught_exception_ [protected]
 

Pointer to the caught exception.

ACE_INLINE void TAO_ClientRequestInfo_i::exception
 

Change the exception status.

TAO::Invocation_Base* TAO_ClientRequestInfo_i::invocation_ [protected]
 

Pointer to the invocation object.

PortableInterceptor::ReplyStatus TAO_ClientRequestInfo_i::reply_status_ [protected]
 

Reply status for the current request.

TAO_PICurrent_Impl TAO_ClientRequestInfo_i::rs_pi_current_ [protected]
 

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 Jan 14 23:24:53 2004 for TAO by doxygen1.2.18