TAO_PI_Server 4.0.2
Loading...
Searching...
No Matches
Public Member Functions | List of all members
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]

Public Member Functions

 ServerRequestInfo (TAO_ServerRequest &server_request, TAO::Argument *const *args, size_t nargs, TAO::Portable_Server::Servant_Upcall *servant_upcall, CORBA::TypeCode_ptr const *exceptions, CORBA::ULong nexceptions)
 Constructor.
 
virtual CORBA::ULong request_id ()
 
virtual char * operation ()
 Return the operation name for the current request.
 
virtual Dynamic::ParameterList * arguments ()
 Return the list of arguments passed to the current operation.
 
virtual Dynamic::ExceptionList * exceptions ()
 
virtual Dynamic::ContextList * contexts ()
 
virtual Dynamic::RequestContext * operation_context ()
 
virtual CORBA::Any * result ()
 
virtual CORBA::Boolean response_expected ()
 Returns true for a two-way operation, and false otherwise.
 
virtual::Messaging::SyncScope sync_scope ()
 
virtual PortableInterceptor::ReplyStatus reply_status ()
 Return the reply status for the current request.
 
virtual CORBA::Object_ptr forward_reference ()
 
virtual CORBA::Any * get_slot (PortableInterceptor::SlotId id)
 Retrieve data from the "request scope" PICurrent object.
 
virtual IOP::ServiceContextget_request_service_context (IOP::ServiceId id)
 
virtual IOP::ServiceContextget_reply_service_context (IOP::ServiceId id)
 
virtual CORBA::Any * sending_exception ()
 
virtual PortableInterceptor::ObjectIdobject_id ()
 Return the ObjectId for the target object.
 
virtual CORBA::OctetSeqadapter_id ()
 
virtual char * server_id ()
 
virtual char * orb_id ()
 
virtual PortableInterceptor::AdapterNameadapter_name ()
 
virtual char * target_most_derived_interface ()
 Return the most derived interface of the target object.
 
virtual CORBA::Policy_ptr get_server_policy (CORBA::PolicyType type)
 
virtual void set_slot (PortableInterceptor::SlotId id, const CORBA::Any &data)
 Insert data into the "request scope" PICurrent object.
 
virtual CORBA::Boolean target_is_a (const char *id)
 
virtual void add_reply_service_context (const IOP::ServiceContext &service_context, CORBA::Boolean replace)
 
- Public Member Functions inherited from PortableInterceptor::ServerRequestInfo
CORBA::Policy get_server_policy (in CORBA::PolicyType type)
 
void set_slot (in SlotId id, in any data) raises (InvalidSlot)
 
boolean target_is_a (in CORBA::RepositoryId id)
 
void add_reply_service_context (in IOP::ServiceContext service_context, in boolean replace)
 
- Public Member Functions inherited from CORBA::LocalObject
virtual ~LocalObject ()
 
virtual CORBA::Boolean _non_existent ()
 
virtual char * _repository_id ()
 
virtual CORBA::InterfaceDef_ptr _get_interface ()
 
virtual CORBA::Object_ptr _get_component ()
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::ExceptionList_ptr exclist, CORBA::ContextList_ptr ctxtlist, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual CORBA::Request_ptr _request (const char *operation)
 
virtual CORBA::ULong _hash (CORBA::ULong maximum)
 
virtual CORBA::Boolean _is_equivalent (CORBA::Object_ptr other_obj)
 
virtual CORBA::ORB_ptr _get_orb ()
 
virtual TAO::ObjectKey_key ()
 
- Public Member Functions inherited from CORBA::Object
virtual ~Object ()
 
virtual void _add_ref ()
 
virtual void _remove_ref ()
 
virtual CORBA::ULong _refcount_value () const
 
virtual TAO_Abstract_ServantBase_servant () const
 
virtual CORBA::Boolean _is_collocated () const
 
virtual CORBA::Boolean _is_local () const
 
 Object (TAO_Stub *p, CORBA::Boolean collocated=false, TAO_Abstract_ServantBase *servant=0, TAO_ORB_Core *orb_core=0)
 
 Object (IOP::IOR *ior, TAO_ORB_Core *orb_core)
 
virtual TAO_Stub_stubobj () const
 
virtual TAO_Stub_stubobj ()
 
virtual void _proxy_broker (TAO::Object_Proxy_Broker *proxy_broker)
 
virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr)
 
CORBA::Boolean is_evaluated () const
 
TAO_ORB_Coreorb_core () const
 
IOP::IORsteal_ior ()
 
const IOP::IORior () const
 
virtual bool can_convert_to_ior () const
 
virtual char * convert_to_ior (bool use_omg_ior_format, const char *ior_prefix) const
 
void _decr_refcount ()
 
virtual CORBA::Boolean _is_a (const char *logical_type_id)
 
virtual const char * _interface_repository_id () const
 

Helper methods specific to TAO.

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_
 
CORBA::ULong const nexceptions_
 The number of elements in the exceptions_ array.
 
void forward_reference (PortableInterceptor::ForwardRequest &exc)
 
void forward_reference (CORBA::Object_ptr obj)
 
TAO_ServerRequestserver_request ()
 
IOP::ServiceContextget_service_context_i (TAO_Service_Context &service_context_list, IOP::ServiceId id)
 

Additional Inherited Members

- Public Types inherited from CORBA::LocalObject
typedef LocalObject_ptr _ptr_type
 
typedef LocalObject_var _var_type
 
typedef LocalObject_out _out_type
 
- Public Types inherited from CORBA::Object
typedef Object_ptr _ptr_type
 
typedef Object_var _var_type
 
typedef Object_out _out_type
 
- Static Public Member Functions inherited from CORBA::LocalObject
static LocalObject_ptr _duplicate (LocalObject_ptr obj)
 
static LocalObject_ptr _nil ()
 
static LocalObject_ptr _narrow (CORBA::Object_ptr obj)
 
- Static Public Member Functions inherited from CORBA::Object
static CORBA::Boolean marshal (const Object_ptr x, TAO_OutputCDR &cdr)
 
static void _tao_any_destructor (void *)
 
static CORBA::Boolean is_nil_i (CORBA::Object_ptr obj)
 
static void tao_object_initialize (Object *)
 
static CORBA::Object_ptr _duplicate (CORBA::Object_ptr obj)
 
static CORBA::Object_ptr _nil ()
 
static CORBA::Object_ptr _narrow (CORBA::Object_ptr obj)
 
- Public Attributes inherited from PortableInterceptor::ServerRequestInfo
- Protected Member Functions inherited from CORBA::LocalObject
 LocalObject ()
 
- Protected Member Functions inherited from CORBA::Object
 Object (int dummy=0)
 
TAO::Object_Proxy_Brokerproxy_broker () const
 
- Protected Attributes inherited from CORBA::Object
std::atomic< uint32_t > refcount_
 

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

◆ ServerRequestInfo()

TAO::ServerRequestInfo::ServerRequestInfo ( TAO_ServerRequest & server_request,
TAO::Argument *const * args,
size_t nargs,
TAO::Portable_Server::Servant_Upcall * servant_upcall,
CORBA::TypeCode_ptr const * exceptions,
CORBA::ULong nexceptions )
inline

Constructor.

Member Function Documentation

◆ adapter_id()

CORBA::OctetSeq * TAO::ServerRequestInfo::adapter_id ( )
virtual

Return the AdapterId for the POA handling the current request.

Implements PortableInterceptor::ServerRequestInfo.

◆ adapter_name()

PortableInterceptor::AdapterName * TAO::ServerRequestInfo::adapter_name ( )
virtual

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

Implements PortableInterceptor::ServerRequestInfo.

◆ add_reply_service_context()

void TAO::ServerRequestInfo::add_reply_service_context ( const IOP::ServiceContext & service_context,
CORBA::Boolean replace )
virtual

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

◆ arguments()

Dynamic::ParameterList * TAO::ServerRequestInfo::arguments ( )
virtual

Return the list of arguments passed to the current operation.

◆ contexts()

Dynamic::ContextList * TAO::ServerRequestInfo::contexts ( )
virtual

◆ exceptions()

Dynamic::ExceptionList * TAO::ServerRequestInfo::exceptions ( )
virtual

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

◆ forward_reference() [1/3]

CORBA::Object_ptr TAO::ServerRequestInfo::forward_reference ( )
virtual

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

◆ forward_reference() [2/3]

void TAO::ServerRequestInfo::forward_reference ( CORBA::Object_ptr obj)
inline

Set the forward reference associated with the current LOCATION_FORWARD reply.

Note
This method is only invoked when a PortableServer::ForwardRequest exception is thrown by a servant manager.

◆ forward_reference() [3/3]

void TAO::ServerRequestInfo::forward_reference ( PortableInterceptor::ForwardRequest & exc)
inline

Extract the forward object reference from the PortableInterceptor::ForwardRequest exception, and set the reply status flag accordingly.

◆ get_reply_service_context()

IOP::ServiceContext * TAO::ServerRequestInfo::get_reply_service_context ( IOP::ServiceId id)
virtual

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

◆ get_request_service_context()

IOP::ServiceContext * TAO::ServerRequestInfo::get_request_service_context ( IOP::ServiceId id)
virtual

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

◆ get_server_policy()

CORBA::Policy_ptr TAO::ServerRequestInfo::get_server_policy ( CORBA::PolicyType type)
virtual

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

◆ get_service_context_i()

IOP::ServiceContext * TAO::ServerRequestInfo::get_service_context_i ( TAO_Service_Context & service_context_list,
IOP::ServiceId id )
protected

Helper method to get the request and response service contexts.

◆ get_slot()

CORBA::Any * TAO::ServerRequestInfo::get_slot ( PortableInterceptor::SlotId id)
virtual

Retrieve data from the "request scope" PICurrent object.

◆ object_id()

PortableInterceptor::ObjectId * TAO::ServerRequestInfo::object_id ( )
virtual

Return the ObjectId for the target object.

Implements PortableInterceptor::ServerRequestInfo.

◆ operation()

char * TAO::ServerRequestInfo::operation ( )
virtual

Return the operation name for the current request.

◆ operation_context()

Dynamic::RequestContext * TAO::ServerRequestInfo::operation_context ( )
virtual

◆ orb_id()

char * TAO::ServerRequestInfo::orb_id ( )
virtual

Return the ORBId value that is passed to the ORB_init call.

Implements PortableInterceptor::ServerRequestInfo.

◆ reply_status()

PortableInterceptor::ReplyStatus TAO::ServerRequestInfo::reply_status ( )
virtual

Return the reply status for the current request.

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

◆ request_id()

CORBA::ULong TAO::ServerRequestInfo::request_id ( )
virtual

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

◆ response_expected()

CORBA::Boolean TAO::ServerRequestInfo::response_expected ( )
virtual

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

◆ result()

CORBA::Any * TAO::ServerRequestInfo::result ( )
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.

◆ sending_exception()

CORBA::Any * TAO::ServerRequestInfo::sending_exception ( )
virtual

Return an Any containing the exception being sent, 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::ServerRequestInfo.

◆ server_id()

char * TAO::ServerRequestInfo::server_id ( )
virtual

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

Implements PortableInterceptor::ServerRequestInfo.

◆ server_request()

TAO_ServerRequest & TAO::ServerRequestInfo::server_request ( )
inline

Return a reference to the underlying TAO_ServerRequest object.

◆ set_slot()

void TAO::ServerRequestInfo::set_slot ( PortableInterceptor::SlotId id,
const CORBA::Any & data )
virtual

Insert data into the "request scope" PICurrent object.

◆ sync_scope()

Messaging::SyncScope TAO::ServerRequestInfo::sync_scope ( )

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.

◆ target_is_a()

CORBA::Boolean TAO::ServerRequestInfo::target_is_a ( const char * id)
virtual

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

◆ target_most_derived_interface()

char * TAO::ServerRequestInfo::target_most_derived_interface ( )
virtual

Return the most derived interface of the target object.

Implements PortableInterceptor::ServerRequestInfo.

Member Data Documentation

◆ args_

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

Operation argument list.

◆ exceptions_

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

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

◆ nargs_

size_t const TAO::ServerRequestInfo::nargs_
protected

Number of element in the operation argument list.

◆ nexceptions_

CORBA::ULong const TAO::ServerRequestInfo::nexceptions_
protected

The number of elements in the exceptions_ array.

◆ servant_upcall_

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.

◆ server_request_

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: