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

TAO_Object_Adapter::Servant_Upcall Class Reference

This class finds out the POA and the servant to perform an upcall. It can only be instantiated without the object adapter's lock held. More...

#include <Object_Adapter.h>

Collaboration diagram for TAO_Object_Adapter::Servant_Upcall:

Collaboration graph
[legend]
List of all members.

Public Types

enum  State {
  INITIAL_STAGE, OBJECT_ADAPTER_LOCK_ACQUIRED, POA_CURRENT_SETUP, OBJECT_ADAPTER_LOCK_RELEASED,
  SERVANT_LOCK_ACQUIRED
}

Public Methods

 Servant_Upcall (TAO_ORB_Core *orb_core)
 Constructor.

 ~Servant_Upcall (void)
 Destructor.

int prepare_for_upcall (const TAO::ObjectKey &key, const char *operation, CORBA::Object_out forward_to ACE_ENV_ARG_DECL_WITH_DEFAULTS)
 Locate POA and servant.

int prepare_for_upcall_i (const TAO::ObjectKey &key, const char *operation, CORBA::Object_out forward_to, int &wait_occurred_restart_call ACE_ENV_ARG_DECL_WITH_DEFAULTS)
 Helper.

void pre_invoke_remote_request (TAO_ServerRequest &req ACE_ENV_ARG_DECL)
 Run pre_invoke for a remote request.

void pre_invoke_collocated_request (ACE_ENV_SINGLE_ARG_DECL)
 Run pre_invoke for a collocated request.

void post_invoke (void)
 Run post_invoke for a request.

TAO_POAlookup_POA (const TAO::ObjectKey &key ACE_ENV_ARG_DECL)
 Locate POA.

TAO_POApoa (void) const
 POA accessor.

TAO_Object_Adapterobject_adapter (void) const
 Object Adapter accessor.

const PortableServer::ObjectIdid (void) const
 System ID accessor.

void user_id (const PortableServer::ObjectId *)
const PortableServer::ObjectIduser_id (void) const
PortableServer::Servant servant (void) const
 Servant accessor.

PortableServer::ServantLocator::Cookie locator_cookie (void) const
 Get the Servant Locator's cookie.

void locator_cookie (PortableServer::ServantLocator::Cookie cookie)
 Set the Servant Locator's cookie.

const char * operation (void) const
 Get the operation name.

void operation (const char *)
 Set the operation name.

void active_object_map_entry (TAO_Active_Object_Map::Map_Entry *entry)
 Set the <active_object_map_entry>.

TAO_Active_Object_Map::Map_Entryactive_object_map_entry (void) const
 Get the <active_object_map_entry>.

void using_servant_locator (void)
 We are using the servant locator for this upcall.

CORBA::Short priority (void) const
 Get the priority for the current upcall.

State state (void) const
void state (State)

Protected Methods

void servant_locator_cleanup (void)
void single_threaded_poa_setup (ACE_ENV_SINGLE_ARG_DECL)
void single_threaded_poa_cleanup (void)
void servant_cleanup (void)
void poa_cleanup (void)
void upcall_cleanup (void)
 Clean-up / reset state of this Servant_Upcall object.


Protected Attributes

TAO_Object_Adapterobject_adapter_
TAO_POApoa_
PortableServer::Servant servant_
State state_
PortableServer::ObjectId system_id_
const PortableServer::ObjectIduser_id_
TAO_POA_Current_Impl current_context_
PortableServer::ServantLocator::Cookie cookie_
 Servant Locator's cookie.

const char * operation_
 Operation name for this current.

TAO_Active_Object_Map::Map_Entryactive_object_map_entry_
int using_servant_locator_
 Are we using the servant locator?

Pre_Invoke_State pre_invoke_state_
 Preinvoke data for the upcall.


Private Methods

 Servant_Upcall (const Servant_Upcall &)
void operator= (const Servant_Upcall &)

Friends

class TAO_POA
class TAO_RT_Collocation_Resolver

Detailed Description

This class finds out the POA and the servant to perform an upcall. It can only be instantiated without the object adapter's lock held.


Member Enumeration Documentation

enum TAO_Object_Adapter::Servant_Upcall::State
 

Enumeration values:
INITIAL_STAGE 
OBJECT_ADAPTER_LOCK_ACQUIRED 
POA_CURRENT_SETUP 
OBJECT_ADAPTER_LOCK_RELEASED 
SERVANT_LOCK_ACQUIRED 


Constructor & Destructor Documentation

TAO_Object_Adapter::Servant_Upcall::Servant_Upcall TAO_ORB_Core   orb_core
 

Constructor.

TAO_Object_Adapter::Servant_Upcall::~Servant_Upcall void   
 

Destructor.

TAO_Object_Adapter::Servant_Upcall::Servant_Upcall const Servant_Upcall &    [private]
 


Member Function Documentation

ACE_INLINE TAO_Active_Object_Map::Map_Entry * TAO_Object_Adapter::Servant_Upcall::active_object_map_entry void    const
 

Get the <active_object_map_entry>.

ACE_INLINE void TAO_Object_Adapter::Servant_Upcall::active_object_map_entry TAO_Active_Object_Map::Map_Entry   entry
 

Set the <active_object_map_entry>.

ACE_INLINE const PortableServer::ObjectId & TAO_Object_Adapter::Servant_Upcall::id void    const
 

System ID accessor.

ACE_INLINE void TAO_Object_Adapter::Servant_Upcall::locator_cookie PortableServer::ServantLocator::Cookie    cookie
 

Set the Servant Locator's cookie.

ACE_INLINE PortableServer::ServantLocator::Cookie TAO_Object_Adapter::Servant_Upcall::locator_cookie void    const
 

Get the Servant Locator's cookie.

TAO_POA * TAO_Object_Adapter::Servant_Upcall::lookup_POA const TAO::ObjectKey &key    ACE_ENV_ARG_DECL
 

Locate POA.

ACE_INLINE TAO_Object_Adapter & TAO_Object_Adapter::Servant_Upcall::object_adapter void    const
 

Object Adapter accessor.

ACE_INLINE void TAO_Object_Adapter::Servant_Upcall::operation const char *   
 

Set the operation name.

ACE_INLINE const char * TAO_Object_Adapter::Servant_Upcall::operation void    const
 

Get the operation name.

void TAO_Object_Adapter::Servant_Upcall::operator= const Servant_Upcall &    [private]
 

ACE_INLINE TAO_POA & TAO_Object_Adapter::Servant_Upcall::poa void    const
 

POA accessor.

void TAO_Object_Adapter::Servant_Upcall::poa_cleanup void    [protected]
 

void TAO_Object_Adapter::Servant_Upcall::post_invoke void   
 

Run post_invoke for a request.

void TAO_Object_Adapter::Servant_Upcall::pre_invoke_collocated_request ACE_ENV_SINGLE_ARG_DECL   
 

Run pre_invoke for a collocated request.

void TAO_Object_Adapter::Servant_Upcall::pre_invoke_remote_request TAO_ServerRequest &req    ACE_ENV_ARG_DECL
 

Run pre_invoke for a remote request.

int TAO_Object_Adapter::Servant_Upcall::prepare_for_upcall const TAO::ObjectKey   key,
const char *    operation,
CORBA::Object_out forward_to    ACE_ENV_ARG_DECL_WITH_DEFAULTS
 

Locate POA and servant.

int TAO_Object_Adapter::Servant_Upcall::prepare_for_upcall_i const TAO::ObjectKey   key,
const char *    operation,
CORBA::Object_out    forward_to,
int &wait_occurred_restart_call    ACE_ENV_ARG_DECL_WITH_DEFAULTS
 

Helper.

ACE_INLINE CORBA::Short TAO_Object_Adapter::Servant_Upcall::priority void    const
 

Get the priority for the current upcall.

ACE_INLINE PortableServer::Servant TAO_Object_Adapter::Servant_Upcall::servant void    const
 

Servant accessor.

void TAO_Object_Adapter::Servant_Upcall::servant_cleanup void    [protected]
 

void TAO_Object_Adapter::Servant_Upcall::servant_locator_cleanup void    [protected]
 

void TAO_Object_Adapter::Servant_Upcall::single_threaded_poa_cleanup void    [protected]
 

void TAO_Object_Adapter::Servant_Upcall::single_threaded_poa_setup ACE_ENV_SINGLE_ARG_DECL    [protected]
 

ACE_INLINE void TAO_Object_Adapter::Servant_Upcall::state State   
 

ACE_INLINE TAO_Object_Adapter::Servant_Upcall::State TAO_Object_Adapter::Servant_Upcall::state void    const
 

void TAO_Object_Adapter::Servant_Upcall::upcall_cleanup void    [protected]
 

Clean-up / reset state of this Servant_Upcall object.

ACE_INLINE const PortableServer::ObjectId & TAO_Object_Adapter::Servant_Upcall::user_id void    const
 

ACE_INLINE void TAO_Object_Adapter::Servant_Upcall::user_id const PortableServer::ObjectId  
 

User ID accessors. This is the same value returned by PortableServer::Current::get_object_id().

ACE_INLINE void TAO_Object_Adapter::Servant_Upcall::using_servant_locator void   
 

We are using the servant locator for this upcall.


Friends And Related Function Documentation

friend class TAO_POA [friend]
 

friend class TAO_RT_Collocation_Resolver [friend]
 


Member Data Documentation

TAO_Active_Object_Map::Map_Entry* TAO_Object_Adapter::Servant_Upcall::active_object_map_entry_ [protected]
 

Pointer to the entry in the TAO_Active_Object_Map corresponding to the servant for this request.

PortableServer::ServantLocator::Cookie TAO_Object_Adapter::Servant_Upcall::cookie_ [protected]
 

Servant Locator's cookie.

TAO_POA_Current_Impl TAO_Object_Adapter::Servant_Upcall::current_context_ [protected]
 

TAO_Object_Adapter* TAO_Object_Adapter::Servant_Upcall::object_adapter_ [protected]
 

const char* TAO_Object_Adapter::Servant_Upcall::operation_ [protected]
 

Operation name for this current.

TAO_POA* TAO_Object_Adapter::Servant_Upcall::poa_ [protected]
 

Pre_Invoke_State TAO_Object_Adapter::Servant_Upcall::pre_invoke_state_ [protected]
 

Preinvoke data for the upcall.

PortableServer::Servant TAO_Object_Adapter::Servant_Upcall::servant_ [protected]
 

State TAO_Object_Adapter::Servant_Upcall::state_ [protected]
 

PortableServer::ObjectId TAO_Object_Adapter::Servant_Upcall::system_id_ [protected]
 

const PortableServer::ObjectId* TAO_Object_Adapter::Servant_Upcall::user_id_ [protected]
 

int TAO_Object_Adapter::Servant_Upcall::using_servant_locator_ [protected]
 

Are we using the servant locator?


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 17:55:20 2004 for TAO_PortableServer by doxygen1.2.18