TAO_PI  2.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
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 Member Functions

 TAO_ClientRequestInfo (TAO::Invocation_Base *invocation)
virtual CORBA::ULong request_id (void)
virtual char * operation (void)
 Return the operation name for the current request.
virtual Dynamic::ParameterList * arguments (void)
 Return the list of arguments passed to the current operation.
virtual Dynamic::ExceptionList * exceptions (void)
virtual Dynamic::ContextListcontexts (void)
virtual Dynamic::RequestContextoperation_context (void)
virtual CORBA::Any * result (void)
virtual CORBA::Boolean response_expected (void)
 Returns true for a two-way operation, and false otherwise.
virtual Messaging::SyncScope sync_scope (void)
virtual
PortableInterceptor::ReplyStatus 
reply_status (void)
 Return the reply status for the current request.
virtual CORBA::Object_ptr forward_reference (void)
virtual CORBA::Any * get_slot (PortableInterceptor::SlotId id)
virtual IOP::ServiceContextget_request_service_context (IOP::ServiceId id)
virtual IOP::ServiceContextget_reply_service_context (IOP::ServiceId id)
virtual CORBA::Object_ptr target (void)
virtual CORBA::Object_ptr effective_target (void)
virtual IOP::TaggedProfileeffective_profile (void)
virtual CORBA::Any * received_exception (void)
virtual char * received_exception_id (void)
 Return the repository ID for the received exception.
virtual IOP::TaggedComponentget_effective_component (IOP::ComponentId id)
virtual IOP::TaggedComponentSeqget_effective_components (IOP::ComponentId id)
virtual CORBA::Policy_ptr get_request_policy (CORBA::PolicyType type)
virtual void add_request_service_context (const IOP::ServiceContext &service_context, CORBA::Boolean replace)
void tao_ft_expiration_time (TimeBase::TimeT time)
 Set the absolute FT expiration time for this request.
TimeBase::TimeT tao_ft_expiration_time (void) const
 Get the absolute FT expiration time for this request.
void tao_ft_retention_id (CORBA::Long request_id)
 Set the FT request retention ID for this request.
CORBA::Long tao_ft_retention_id (void) const
 Get the FT request retention ID for this request.

Private Member Functions

bool parameter_list (Dynamic::ParameterList &param_list)
bool exception_list (Dynamic::ExceptionList &exception_list)
bool result (CORBA::Any *any)
void check_validity (void)
void setup_picurrent (void)
IOP::ServiceContextget_service_context_i (TAO_Service_Context &service_context_list, IOP::ServiceId id)
 Helper method to get the request and response service contexts.

Private Attributes

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

Detailed Description

Implementation of the PortableInterceptor::ClientRequestInfo interface.


Constructor & Destructor Documentation

TAO_ClientRequestInfo::TAO_ClientRequestInfo ( TAO::Invocation_Base *  invocation)

Member Function Documentation

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

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

Dynamic::ParameterList * TAO_ClientRequestInfo::arguments ( void  ) [virtual]

Return the list of arguments passed to the current operation.

Implements PortableInterceptor::RequestInfo.

void TAO_ClientRequestInfo::check_validity ( void  ) [private]

Check if this ClientRequestInfo object is called within the context of a request.

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

Implements PortableInterceptor::ClientRequestInfo.

bool TAO_ClientRequestInfo::exception_list ( Dynamic::ExceptionList &  exception_list) [private]
Dynamic::ExceptionList * TAO_ClientRequestInfo::exceptions ( void  ) [virtual]

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

Implements PortableInterceptor::RequestInfo.

If the reply status is PortableInterceptor::LOCATION_FORWARD or return the object reference to which the request was forwarded.

Implements PortableInterceptor::RequestInfo.

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

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

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

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

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

Helper method to get the request and response service contexts.

char * TAO_ClientRequestInfo::operation ( void  ) [virtual]

Return the operation name for the current request.

Implements PortableInterceptor::RequestInfo.

bool TAO_ClientRequestInfo::parameter_list ( Dynamic::ParameterList &  param_list) [private]
CORBA::Any * TAO_ClientRequestInfo::received_exception ( void  ) [virtual]

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.

Implements PortableInterceptor::ClientRequestInfo.

char * TAO_ClientRequestInfo::received_exception_id ( void  ) [virtual]

Return the repository ID for the received exception.

Implements PortableInterceptor::ClientRequestInfo.

Return the reply status for the current request.

Statuses can be PortableInterceptor::SUCCESSFUL, SYSTEM_EXCEPTION, USER_EXCEPTION, LOCATION_FORWARD, TRANSPORT_RETRY, UNKNOWN.

Implements PortableInterceptor::RequestInfo.

Return an ID unique to the current request. This request ID may or may not be the same as the GIOP request ID.

Implements PortableInterceptor::RequestInfo.

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

Implements PortableInterceptor::RequestInfo.

CORBA::Any * TAO_ClientRequestInfo::result ( void  ) [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.

Implements PortableInterceptor::RequestInfo.

bool TAO_ClientRequestInfo::result ( CORBA::Any *  any) [private]
void TAO_ClientRequestInfo::setup_picurrent ( void  ) [private]

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

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.

Implements PortableInterceptor::RequestInfo.

Set the absolute FT expiration time for this request.

Get the absolute FT expiration time for this request.

Set the FT request retention ID for this request.

Get the FT request retention ID for this request.

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

Implements PortableInterceptor::ClientRequestInfo.


Member Data Documentation

TAO::Invocation_Base* TAO_ClientRequestInfo::invocation_ [private]

Pointer to the invocation object.

TAO::PICurrent_Impl TAO_ClientRequestInfo::rs_pi_current_ [private]

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


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