Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# TAO_ServerRequestInfo Class Reference

Implementation of the PortableInterceptor::ServerRequestInfo interface. More...

`#include <ServerRequestInfo.h>`

Inheritance diagram for TAO_ServerRequestInfo:

[legend]
Collaboration diagram for TAO_ServerRequestInfo:

[legend]
List of all members.

## Helper methods specific to TAO.
void | reply_status (PortableInterceptor::ReplyStatus s)
| 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 | forward_reference (CORBA::Object_ptr obj)
| Set the forward reference associated with the current LOCATION_FORWARD reply. This method is only invoked when a PortableServer::ForwardRequest exception is thrown by a servant manager. More...
void exception CORBA::Exception * | exception
| Change the exception status. More...
## Public Methods
| TAO_ServerRequestInfo (TAO_ServerRequest &server_request, TAO_Object_Adapter::Servant_Upcall *servant_upcall)
| Constructor. More...
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 otherwis.e. More...
virtual Messaging::SyncScope | 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)
| Retrieve data from the "request scope" PICurrent object. More...
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::Any * | sending_exception (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::Exception * | _sending_exception (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::OctetSeq * | object_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Return the ObjectId for the target object. More...
virtual CORBA::OctetSeq * | adapter_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Return the AdapterId for the POA handling the current request. More...
virtual char * | server_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Return the server_id of the server. The value is passed to the ORB via -ORBServerId parameter. More...
virtual char * | orb_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Return the ORBId value that is passed to the ORB::Init call. More...
virtual PortableInterceptor::AdapterName * | adapter_name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Return the name of the object adapter that services requests for the invoked object. More...
virtual char * | target_most_derived_interface (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Return the most derived interface of the target object. More...
virtual CORBA::Policy_ptr | get_server_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 | set_slot (PortableInterceptor::SlotId id, const CORBA::Any &data ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot)
| Insert data into the "request scope" PICurrent object. More...
virtual CORBA::Boolean | target_is_a (const char *id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Returns true if the target's type corresponds to the given RepositoryId. More...
virtual void | add_reply_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 reply (outgoing) IOP::ServiceContextList. More...
TAO_ServerRequest & | server_request (void)
| Return a reference to the underlying TAO_ServerRequest object. More...
## Protected Methods
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_ServerRequest & | server_request_
| Underlying request object that contains much of the information encapsulated by this TAO_ServerRequestInfo class. More...
TAO_Object_Adapter::Servant_Upcall * | servant_upcall_
| Pointer to the Servant_Upcall object that contains the object ID, among other things. More...
CORBA::Exception * | caught_exception_
| Pointer to the caught exception. More...
PortableInterceptor::ReplyStatus | reply_status_
| Reply status for the current request. More...

## Detailed Description

Implementation of the PortableInterceptor::ServerRequestInfo interface.

## Constructor & Destructor Documentation

TAO_ServerRequestInfo::TAO_ServerRequestInfo | ( | TAO_ServerRequest & | server_request,
|  | TAO_Object_Adapter::Servant_Upcall * | servant_upcall
| ) |

| Constructor.

## Member Function Documentation

CORBA::Exception * TAO_ServerRequestInfo::_sending_exception | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Note: This is TAO specific and was done to combat the previous problem to some extent. Avoid this method whenever possible.

CORBA::OctetSeq * TAO_ServerRequestInfo::adapter_id | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Return the AdapterId for the POA handling the current request.

PortableInterceptor::AdapterName * TAO_ServerRequestInfo::adapter_name | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Return the name of the object adapter that services requests for the invoked object.

void TAO_ServerRequestInfo::add_reply_service_context | ( | const IOP::ServiceContext & | service_context,
|  | CORBA::Boolean replace | ACE_ENV_ARG_DECL
| ) | throw (CORBA::SystemException)`[virtual]`

| Add the IOP::ServiceContext to the reply (outgoing) IOP::ServiceContextList.

Dynamic::ParameterList * TAO_ServerRequestInfo::arguments | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Return the list of arguments passed to the current operation. Reimplemented in TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping, TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown, TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running, TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down, TAO_ServerRequestInfo_ImplementationRepository_Administration_find, TAO_ServerRequestInfo_ImplementationRepository_Administration_list, TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n, TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy, TAO_ServerRequestInfo_CORBA_Policy_policy_type_get, TAO_ServerRequestInfo_CORBA_Policy_copy, and TAO_ServerRequestInfo_CORBA_Policy_destroy.

Dynamic::ContextList * TAO_ServerRequestInfo::contexts | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

Dynamic::ExceptionList * TAO_ServerRequestInfo::exceptions | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Return the list of exceptions the current operation is capable of throwing. Reimplemented in TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping, TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown, TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running, TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down, TAO_ServerRequestInfo_ImplementationRepository_Administration_find, TAO_ServerRequestInfo_ImplementationRepository_Administration_list, TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n, TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy, TAO_ServerRequestInfo_CORBA_Policy_policy_type_get, TAO_ServerRequestInfo_CORBA_Policy_copy, and TAO_ServerRequestInfo_CORBA_Policy_destroy.

ACE_INLINE void TAO_ServerRequestInfo::forward_reference | ( | CORBA::Object_ptr | obj | ) |

| Set the forward reference associated with the current LOCATION_FORWARD reply. This method is only invoked when a PortableServer::ForwardRequest exception is thrown by a servant manager.

ACE_INLINE void TAO_ServerRequestInfo::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_ServerRequestInfo::forward_reference | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

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

IOP::ServiceContext * TAO_ServerRequestInfo::get_reply_service_context | ( | IOP::ServiceId id | ACE_ENV_ARG_DECL | ) | throw (CORBA::SystemException)`[virtual]`

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

IOP::ServiceContext * TAO_ServerRequestInfo::get_request_service_context | ( | IOP::ServiceId id | ACE_ENV_ARG_DECL | ) | throw (CORBA::SystemException)`[virtual]`

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

CORBA::Policy_ptr TAO_ServerRequestInfo::get_server_policy | ( | CORBA::PolicyType type | ACE_ENV_ARG_DECL | ) | throw (CORBA::SystemException)`[virtual]`

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

IOP::ServiceContext * TAO_ServerRequestInfo::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_ServerRequestInfo::get_slot | ( | PortableInterceptor::SlotId id | ACE_ENV_ARG_DECL | ) | throw (CORBA::SystemException, PortableInterceptor::InvalidSlot)`[virtual]`

| Retrieve data from the "request scope" PICurrent object.

CORBA::OctetSeq * TAO_ServerRequestInfo::object_id | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Return the ObjectId for the target object.

char * TAO_ServerRequestInfo::operation | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Return the operation name for the current request.

Dynamic::RequestContext * TAO_ServerRequestInfo::operation_context | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

char * TAO_ServerRequestInfo::orb_id | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Return the ORBId value that is passed to the ORB::Init call.

ACE_INLINE void TAO_ServerRequestInfo::reply_status | ( | PortableInterceptor::ReplyStatus | s | ) |

| Set the status of the received reply.

PortableInterceptor::ReplyStatus TAO_ServerRequestInfo::reply_status | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| 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_ServerRequestInfo::request_id | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

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

CORBA::Boolean TAO_ServerRequestInfo::response_expected | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Returns true for a two-way operation, and false otherwis.e.

CORBA::Any * TAO_ServerRequestInfo::result | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | 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_ServerRequestInfo_ImplementationRepository_ServerObject_ping, TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown, TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running, TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down, TAO_ServerRequestInfo_ImplementationRepository_Administration_find, TAO_ServerRequestInfo_ImplementationRepository_Administration_list, TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n, TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy, TAO_ServerRequestInfo_CORBA_Policy_policy_type_get, TAO_ServerRequestInfo_CORBA_Policy_copy, and TAO_ServerRequestInfo_CORBA_Policy_destroy.

CORBA::Any * TAO_ServerRequestInfo::sending_exception | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Note: There is no trivial way to extract the exception from an Any.

char * TAO_ServerRequestInfo::server_id | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Return the server_id of the server. The value is passed to the ORB via -ORBServerId parameter.

ACE_INLINE TAO_ServerRequest & TAO_ServerRequestInfo::server_request | ( | void |  | ) |

| Return a reference to the underlying TAO_ServerRequest object.

void TAO_ServerRequestInfo::set_slot | ( | PortableInterceptor::SlotId | id,
|  | const CORBA::Any &data | ACE_ENV_ARG_DECL
| ) | throw (CORBA::SystemException, PortableInterceptor::InvalidSlot)`[virtual]`

| Insert data into the "request scope" PICurrent object.

Messaging::SyncScope TAO_ServerRequestInfo::sync_scope | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

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

virtual CORBA::Boolean TAO_ServerRequestInfo::target_is_a | ( | const char *id | ACE_ENV_ARG_DECL | ) | throw (CORBA::SystemException)`[virtual]`

| Returns true if the target's type corresponds to the given RepositoryId. Reimplemented in TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping, TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown, TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running, TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down, TAO_ServerRequestInfo_ImplementationRepository_Administration_find, TAO_ServerRequestInfo_ImplementationRepository_Administration_list, TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n, TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy, TAO_ServerRequestInfo_CORBA_Policy_policy_type_get, TAO_ServerRequestInfo_CORBA_Policy_copy, and TAO_ServerRequestInfo_CORBA_Policy_destroy.

char * TAO_ServerRequestInfo::target_most_derived_interface | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Return the most derived interface of the target object. Reimplemented in TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping, TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown, TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server, TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running, TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down, TAO_ServerRequestInfo_ImplementationRepository_Administration_find, TAO_ServerRequestInfo_ImplementationRepository_Administration_list, TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n, TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy, TAO_ServerRequestInfo_CORBA_Policy_policy_type_get, TAO_ServerRequestInfo_CORBA_Policy_copy, and TAO_ServerRequestInfo_CORBA_Policy_destroy.

## Member Data Documentation

CORBA::Exception* TAO_ServerRequestInfo::caught_exception_`[protected]`

| Pointer to the caught exception.

ACE_INLINE void TAO_ServerRequestInfo::exception

| Change the exception status.

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

| Reply status for the current request.

TAO_Object_Adapter::Servant_Upcall* TAO_ServerRequestInfo::servant_upcall_`[protected]`

| Pointer to the Servant_Upcall object that contains the object ID, among other things.

TAO_ServerRequest& TAO_ServerRequestInfo::server_request_`[protected]`

| Underlying request object that contains much of the information encapsulated by this TAO_ServerRequestInfo class.

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

- ServerRequestInfo.h
- ServerRequestInfo.cpp
- ServerRequestInfo.inl