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:

[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:

- ClientRequestInfo_i.h
- ClientRequestInfo_i.cpp
- ClientRequestInfo_i.inl