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>`

Inheritance diagram for TAO_ClientRequestInfo_i:

[legend]
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)
| Set the flag that states whether or not a response is expected. For example, no response is expected in a one-way operation. More...
void | reply_status (int invoke_status)
| Set the status of the received reply. More...
void | forward_reference (PortableInterceptor::ForwardRequest &exc)
| Extract the forward object reference from the PortableInterceptor::ForwardRequest exception, and set the reply status flag accordingly. More...
void exception CORBA::Exception * | exception
| Change the exception status. More...
## Public Methods
| TAO_ClientRequestInfo_i (TAO_GIOP_Invocation *invocation, CORBA::Object_ptr target)
| Constructor from concrete interface. More...
| TAO_ClientRequestInfo_i (TAO_GIOP_Invocation *invocation, CORBA::AbstractBase_ptr abstract_target)
| Constructor from abstract interface. More...
virtual | ~TAO_ClientRequestInfo_i (void)
| Destructor. More...
CORBA::ULong | 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. More...
char * | operation (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
| Return the operation name for the current request. More...
virtual Dynamic::ParameterList * | arguments (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
| Return the list of arguments passed to the current operation. More...
virtual Dynamic::ExceptionList * | exceptions (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
| Return the list of exceptions the current operation is capable of throwing. More...
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)
| 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...
CORBA::Boolean | response_expected (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
| Returns true for a two-way operation, and false otherwise. More...
CORBA::Short | 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. More...
PortableInterceptor::ReplyStatus | 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. More...
CORBA::Object_ptr | 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. More...
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)
| Return the IOP::ServiceContext with the given IOP::ServiceId from the request service context list. More...
IOP::ServiceContext * | 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. More...
CORBA::Object_ptr | target (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
| Return the (initial, non-forwarded, or permanently forwarded) object reference of the target. More...
CORBA::Object_ptr | 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. More...
IOP::TaggedProfile * | effective_profile (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
CORBA::Any * | received_exception (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
| Return an Any containing the received exception, if any. Otherwise, throw a CORBA::BAD_INV_ORDER exception. More...
char * | received_exception_id (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
| Return the repository ID for the received exception. More...
IOP::TaggedComponent * | 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. More...
IOP::TaggedComponentSeq * | 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. More...
CORBA::Policy_ptr | 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. More...
void | 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. More...
## Protected Methods
void | setup_picurrent (void)
| Setup thread scope and request scope PortableInterceptor::Current objects. More...
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. More...
## Protected Attributes
TAO_GIOP_Invocation * | invocation_
| Pointer to the GIOP invocation object. More...
CORBA::Object_ptr | target_
| Reference to the target object. More...
CORBA::AbstractBase_ptr | abstract_target_
| Reference to the abstract interface target. More...
CORBA::Exception * | caught_exception_
| Pointer to the caught exception. More...
CORBA::Boolean | response_expected_
| True if a two-way operation, false otherwise. More...
PortableInterceptor::ReplyStatus | reply_status_
| Reply status for the current request. More...
TAO_PICurrent_Impl | rs_pi_current_
| The "Request Scope Current" (RSC) object, as required by Portable Interceptors. More...

## Detailed Description

Implementation of the PortableInterceptor::ClientRequestInfo interface.

## Constructor & Destructor Documentation

TAO_ClientRequestInfo_i::TAO_ClientRequestInfo_i | ( | TAO_GIOP_Invocation * | inv,
|  | CORBA::Object_ptr | target
| ) |

| Constructor from concrete interface.

TAO_ClientRequestInfo_i::TAO_ClientRequestInfo_i | ( | TAO_GIOP_Invocation * | inv,
|  | CORBA::AbstractBase_ptr | abstract_target
| ) |

| 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. Reimplemented in TAO_ClientRequestInfo_CORBA_Policy_copy, and TAO_ClientRequestInfo_CORBA_Policy_destroy.

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. Reimplemented in TAO_ClientRequestInfo_CORBA_Policy_copy, and TAO_ClientRequestInfo_CORBA_Policy_destroy.

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)

| Return an Any containing the received exception, if any. Otherwise, throw a CORBA::BAD_INV_ORDER exception. 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 | invoke_status | ) |

| 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. Reimplemented in TAO_ClientRequestInfo_CORBA_Policy_copy, and TAO_ClientRequestInfo_CORBA_Policy_destroy.

void TAO_ClientRequestInfo_i::setup_picurrent | ( | void |  | ) | `[protected]`

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

CORBA::Short 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_GIOP_Invocation* TAO_ClientRequestInfo_i::invocation_`[protected]`

| Pointer to the GIOP invocation object.

PortableInterceptor::ReplyStatus TAO_ClientRequestInfo_i::reply_status_`[protected]`

| Reply status for the current request.

CORBA::Boolean TAO_ClientRequestInfo_i::response_expected_`[protected]`

| True if a two-way operation, false otherwise.

TAO_PICurrent_Impl TAO_ClientRequestInfo_i::rs_pi_current_`[protected]`

| The "Request Scope Current" (RSC) object, as required by Portable Interceptors.

CORBA::Object_ptr TAO_ClientRequestInfo_i::target_`[protected]`

| Reference to the target object.

The documentation for this class was generated from the following files:

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