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::Exception * exception
 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::ParameterList * arguments (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
 Return the list of arguments passed to the current operation.

virtual Dynamic::ExceptionList * exceptions (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
Dynamic::ContextList * contexts (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
Dynamic::RequestContext * operation_context (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
virtual CORBA::Any * result (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::Any * get_slot (PortableInterceptor::SlotId id ACE_ENV_ARG_DECL) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot)
IOP::ServiceContext * get_request_service_context (IOP::ServiceId id ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
IOP::ServiceContext * get_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::TaggedProfile * effective_profile (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
CORBA::Any * received_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::TaggedComponent * get_effective_component (IOP::ComponentId id ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
IOP::TaggedComponentSeq * get_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::ServiceContext * get_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_Stub * stub (void) const

Protected Attributes

TAO::Invocation_Base * invocation_
 Pointer to the invocation object.

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

CORBA::Exception * caught_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