TAO::ServerRequestInfo Class Reference

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

#include <ServerRequestInfo.h>

Inheritance diagram for TAO::ServerRequestInfo:

Inheritance graph
[legend]
Collaboration diagram for TAO::ServerRequestInfo:

Collaboration graph
[legend]
List of all members.

Helper methods specific to TAO.

void reply_status (PortableInterceptor::ReplyStatus s)
 Set the status of the received reply.
void forward_reference (PortableInterceptor::ForwardRequest &exc)
void forward_reference (CORBA::Object_ptr obj)
void exception CORBA::Exceptionexception
 Change the exception status.

Public Member Functions

 ServerRequestInfo (TAO_ServerRequest &server_request, TAO::Argument *const *args, size_t nargs, void *servant_upcall, CORBA::TypeCode_ptr const *exceptions, size_t nexceptions)
 Constructor.
virtual CORBA::ULong request_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual char * operation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the operation name for the current request.
virtual Dynamic::ParameterListarguments (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the list of arguments passed to the current operation.
virtual Dynamic::ExceptionListexceptions (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual Dynamic::ContextListcontexts (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual Dynamic::RequestContextoperation_context (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::Anyresult (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
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.
virtual Messaging::SyncScope sync_scope (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual PortableInterceptor::ReplyStatus reply_status (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the reply status for the current request.
virtual CORBA::Object_ptr forward_reference (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::Anyget_slot (PortableInterceptor::SlotId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot)
 Retrieve data from the "request scope" PICurrent object.
virtual IOP::ServiceContextget_request_service_context (IOP::ServiceId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual IOP::ServiceContextget_reply_service_context (IOP::ServiceId id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual CORBA::Anysending_exception (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual PortableInterceptor::ObjectIdobject_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Return the ObjectId for the target object.
virtual CORBA::OctetSeqadapter_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual char * server_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual char * orb_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual PortableInterceptor::AdapterNameadapter_name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
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.
virtual CORBA::Policy_ptr get_server_policy (CORBA::PolicyType type ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
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.
virtual CORBA::Boolean target_is_a (const char *id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual void add_reply_service_context (const IOP::ServiceContext &service_context, CORBA::Boolean replace ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
TAO_ServerRequestserver_request (void)

Protected Member Functions

IOP::ServiceContextget_service_context_i (TAO_Service_Context &service_context_list, IOP::ServiceId id ACE_ENV_ARG_DECL) throw (CORBA::SystemException)

Protected Attributes

TAO_ServerRequestserver_request_
TAO::Argument *const *const args_
 Operation argument list.
size_t const nargs_
 Number of element in the operation argument list.
TAO::Portable_Server::Servant_Upcall
*const 
servant_upcall_
CORBA::TypeCode_ptr const
*const 
exceptions_
size_t const nexceptions_
 The number of elements in the exceptions_ array.
CORBA::Exceptioncaught_exception_
 Pointer to the caught exception.
PortableInterceptor::ReplyStatus reply_status_
 Reply status for the current request.

Detailed Description

Implementation of the PortableInterceptor::ServerRequestInfo IDL interface.

Implementation of the PortableInterceptor::ServerRequestInfo IDL interface.

Note:
This class is currently not meant to be reference counted since it is instantiated on the stack.


Constructor & Destructor Documentation

ACE_INLINE TAO::ServerRequestInfo::ServerRequestInfo TAO_ServerRequest server_request,
TAO::Argument *const *  args,
size_t  nargs,
void *  servant_upcall,
CORBA::TypeCode_ptr const *  exceptions,
size_t  nexceptions
 

Constructor.


Member Function Documentation

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

virtual 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_WITH_DEFAULTS
throw (CORBA::SystemException) [virtual]
 

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

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

virtual Dynamic::ContextList* TAO::ServerRequestInfo::contexts ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

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.

ACE_INLINE void TAO::ServerRequestInfo::forward_reference CORBA::Object_ptr  obj  ) 
 

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

virtual 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_WITH_DEFAULTS  )  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_WITH_DEFAULTS  )  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_WITH_DEFAULTS  )  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_WITH_DEFAULTS  )  throw (CORBA::SystemException, PortableInterceptor::InvalidSlot) [virtual]
 

Retrieve data from the "request scope" PICurrent object.

virtual PortableInterceptor::ObjectId* TAO::ServerRequestInfo::object_id ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Return the ObjectId for the target object.

virtual char* TAO::ServerRequestInfo::operation ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Return the operation name for the current request.

virtual Dynamic::RequestContext* TAO::ServerRequestInfo::operation_context ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

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.

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

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

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

virtual 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 method is not valid for oneway operations.

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

virtual 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_WITH_DEFAULTS
throw (CORBA::SystemException, PortableInterceptor::InvalidSlot) [virtual]
 

Insert data into the "request scope" PICurrent object.

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

CORBA::Boolean TAO::ServerRequestInfo::target_is_a const char *id  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException) [virtual]
 

Returns true if the target's type corresponds to the given RepositoryId.

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


Member Data Documentation

TAO::Argument* const* const TAO::ServerRequestInfo::args_ [protected]
 

Operation argument list.

CORBA::Exception* TAO::ServerRequestInfo::caught_exception_ [protected]
 

Pointer to the caught exception.

ACE_INLINE void TAO::ServerRequestInfo::exception
 

Change the exception status.

CORBA::TypeCode_ptr const* const TAO::ServerRequestInfo::exceptions_ [protected]
 

Array of TypeCodes for user exceptions the operation is capable of raising.

size_t const TAO::ServerRequestInfo::nargs_ [protected]
 

Number of element in the operation argument list.

size_t const TAO::ServerRequestInfo::nexceptions_ [protected]
 

The number of elements in the exceptions_ array.

PortableInterceptor::ReplyStatus TAO::ServerRequestInfo::reply_status_ [protected]
 

Reply status for the current request.

TAO::Portable_Server::Servant_Upcall* const 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 ServerRequestInfo implementation.


The documentation for this class was generated from the following files:
Generated on Wed Nov 23 16:10:41 2005 for TAO_PortableServer by  doxygen 1.4.5