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:

[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_POA * | lookup_POA (const TAO::ObjectKey &key ACE_ENV_ARG_DECL)
| Locate POA.
TAO_POA & | poa (void) const
| POA accessor.
TAO_Object_Adapter & | object_adapter (void) const
| Object Adapter accessor.
const PortableServer::ObjectId & | id (void) const
| System ID accessor.
void | user_id (const PortableServer::ObjectId *)
const PortableServer::ObjectId & | user_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_Entry * | active_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_Adapter * | object_adapter_
TAO_POA * | poa_
PortableServer::Servant | servant_
State | state_
PortableServer::ObjectId | system_id_
const PortableServer::ObjectId * | user_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_Entry * | active_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:

- Object_Adapter.h
- Object_Adapter.cpp
- Object_Adapter.i