#include <ClientRequestInfo.h>
Inheritance diagram for TAO_ClientRequestInfo:
Public Methods | |
TAO_ClientRequestInfo (void) | |
virtual CORBA::ULong | request_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) 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... | |
virtual char * | operation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Return the operation name for the current request. More... | |
virtual Dynamic::ParameterList * | arguments (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Return the list of arguments passed to the current operation. More... | |
virtual Dynamic::ExceptionList * | exceptions (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Return the list of exceptions the current operation is capable of throwing. More... | |
virtual Dynamic::ContextList * | contexts (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
virtual Dynamic::RequestContext * | operation_context (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
virtual CORBA::Any * | result (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) 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... | |
virtual CORBA::Boolean | response_expected (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Returns true for a two-way operation, and false otherwise. More... | |
virtual CORBA::Short | sync_scope (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) 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... | |
virtual PortableInterceptor::ReplyStatus | reply_status (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) 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... | |
virtual CORBA::Object_ptr | forward_reference (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) 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... | |
virtual CORBA::Any * | get_slot (PortableInterceptor::SlotId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot) |
virtual IOP::ServiceContext * | get_request_service_context (IOP::ServiceId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Return the IOP::ServiceContext with the given IOP::ServiceId from the request service context list. More... | |
virtual IOP::ServiceContext * | get_reply_service_context (IOP::ServiceId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Return the IOP::ServiceContext with the given IOP::ServiceId from the reply service context list. More... | |
virtual CORBA::Object_ptr | target (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Return the (initial, non-forwarded, or permanently forwarded) object reference of the target. More... | |
virtual CORBA::Object_ptr | effective_target (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Return the object reference for the current target. The target may change in the even of a location forward. More... | |
virtual IOP::TaggedProfile * | effective_profile (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
virtual CORBA::Any * | received_exception (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
virtual char * | received_exception_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Return the repository ID for the received exception. More... | |
virtual IOP::TaggedComponent * | get_effective_component (IOP::ComponentId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Return the first IOP::TaggedComponent that matches the given IOP::ComponentId in the object reference for the current target. More... | |
virtual IOP::TaggedComponentSeq * | get_effective_components (IOP::ComponentId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Return all IOP::TaggedComponent(s) that match the given IOP::ComponentId in the object reference for the current target. More... | |
virtual CORBA::Policy_ptr | get_request_policy (CORBA::PolicyType type ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Return the policy of the given type in effect for the current request. More... | |
virtual void | add_request_service_context (const IOP::ServiceContext &service_context, CORBA::Boolean replace ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Add the IOP::ServiceContext to the request (outgoing) IOP::ServiceContextList. More... | |
void | info (TAO_ClientRequestInfo_i *info) |
Set the ClientRequestInfo implementation which this class forwards all method call to. More... | |
TAO_ClientRequestInfo_i * | info (void) const |
Get the ClientRequestInfo implementation which this class forwards all method call to. More... | |
Private Methods | |
void | check_validity (ACE_ENV_SINGLE_ARG_DECL) |
Check if this ClientRequestInfo object is called within the context of a request. More... | |
Private Attributes | |
TAO_ClientRequestInfo_i * | info_ |
Pointer to the object that actually implements the ClientRequestInfo functionality. More... |
This class forwards all method calls to the underlying ClientRequestInfo implementation.
An instance of this class is placed in TSS, where as the underlying implementation is instantiated on the stack during each CORBA request. During each request invocation, a pointer to the stack instantiated implementation is placed in the instance of this class.
This may seem unnecessary. However, it is necessary to avoid instantiating an object that inherits from CORBA::Object in the critical path. Such an instantiation would cause a lock to be initialized (not acquired) in the critical path, which can degrade performance significantly.
|
|
|
Add the IOP::ServiceContext to the request (outgoing) IOP::ServiceContextList.
Reimplemented from PortableInterceptor::ClientRequestInfo. |
|
Return the list of arguments passed to the current operation.
Reimplemented from PortableInterceptor::RequestInfo. |
|
Check if this ClientRequestInfo object is called within the context of a request.
|
|
Reimplemented from PortableInterceptor::RequestInfo. |
|
Reimplemented from PortableInterceptor::ClientRequestInfo. |
|
Return the object reference for the current target. The target may change in the even of a location forward.
Reimplemented from PortableInterceptor::ClientRequestInfo. |
|
Return the list of exceptions the current operation is capable of throwing.
Reimplemented from PortableInterceptor::RequestInfo. |
|
If the reply status is PortableInterceptor::LOCATION_FORWARD or PortableInterceptor::LOCATION_FORWARD_PERMANENT, return the object reference to which the request was forwarded.
Reimplemented from PortableInterceptor::RequestInfo. |
|
Return the first IOP::TaggedComponent that matches the given IOP::ComponentId in the object reference for the current target.
Reimplemented from PortableInterceptor::ClientRequestInfo. |
|
Return all IOP::TaggedComponent(s) that match the given IOP::ComponentId in the object reference for the current target.
Reimplemented from PortableInterceptor::ClientRequestInfo. |
|
Return the IOP::ServiceContext with the given IOP::ServiceId from the reply service context list.
Reimplemented from PortableInterceptor::RequestInfo. |
|
Return the policy of the given type in effect for the current request.
Reimplemented from PortableInterceptor::ClientRequestInfo. |
|
Return the IOP::ServiceContext with the given IOP::ServiceId from the request service context list.
Reimplemented from PortableInterceptor::RequestInfo. |
|
Reimplemented from PortableInterceptor::RequestInfo. |
|
Get the ClientRequestInfo implementation which this class forwards all method call to.
|
|
Set the ClientRequestInfo implementation which this class forwards all method call to.
|
|
Return the operation name for the current request.
Reimplemented from PortableInterceptor::RequestInfo. |
|
Reimplemented from PortableInterceptor::RequestInfo. |
|
Reimplemented from PortableInterceptor::ClientRequestInfo. |
|
Return the repository ID for the received exception.
Reimplemented from PortableInterceptor::ClientRequestInfo. |
|
Return the reply status for the current request. Statuses can be PortableInterceptor::SUCCESSFUL, SYSTEM_EXCEPTION, USER_EXCEPTION, LOCATION_FORWARD, LOCATION_FORWARD_PERMANENT, TRANSPORT_RETRY.
Reimplemented from 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.
Reimplemented from PortableInterceptor::RequestInfo. |
|
Returns true for a two-way operation, and false otherwise.
Reimplemented from PortableInterceptor::RequestInfo. |
|
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 from PortableInterceptor::RequestInfo. |
|
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.
Reimplemented from PortableInterceptor::RequestInfo. |
|
Return the (initial, non-forwarded, or permanently forwarded) object reference of the target.
Reimplemented from PortableInterceptor::ClientRequestInfo. |
|
Pointer to the object that actually implements the ClientRequestInfo functionality.
|