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

# TAO_Object_Adapter Class Reference

`#include <Object_Adapter.h>`

Inheritance diagram for TAO_Object_Adapter

[legend]
Collaboration diagram for TAO_Object_Adapter:

[legend]
List of all members.

## Public Types
typedef PortableServer::ObjectId | poa_name
typedef PortableServer::ObjectId_var | poa_name_var
typedef PortableServer::ObjectId_out | poa_name_out
## Public Methods
| TAO_Object_Adapter (const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters, TAO_ORB_Core &orb_core)
| ~TAO_Object_Adapter (void)
int | dispatch_servant (const TAO_ObjectKey &key, TAO_ServerRequest &req, CORBA::Object_out forward_to, CORBA_Environment &ACE_TRY_ENV)
int | locate_servant (const TAO_ObjectKey &key, CORBA_Environment &ACE_TRY_ENV)
TAO_SERVANT_LOCATION | find_servant (const TAO_ObjectKey &key, PortableServer::Servant &servant, CORBA_Environment &ACE_TRY_ENV)
int | find_poa (const poa_name &system_name, CORBA::Boolean activate_it, CORBA::Boolean root, const TAO_Temporary_Creation_Time &poa_creation_time, TAO_POA *&poa, CORBA_Environment &ACE_TRY_ENV)
int | bind_poa (const poa_name &folded_name, TAO_POA *poa, poa_name_out system_name)
int | unbind_poa (TAO_POA *poa, const poa_name &folded_name, const poa_name &system_name)
int | activate_poa (const poa_name &folded_name, TAO_POA *&poa, CORBA_Environment &ACE_TRY_ENV)
ACE_Lock& | lock (void)
TAO_SYNCH_MUTEX& | thread_lock (void)
ACE_Reverse_Lock<ACE_Lock>& | reverse_lock (void)
TAO_POA* | root_poa (void) const
TAO_ORB_Core& | orb_core (void) const
void | wait_for_non_servant_upcalls_to_complete (CORBA::Environment &ACE_TRY_ENV)
void | wait_for_non_servant_upcalls_to_complete (void)
TAO_POA_Policy_Validator& | validator (void)
| Return the validator.
TAO_POA_Policy_Set& | default_poa_policies (void)
| Return the set of default policies.
void | servant_dispatcher (TAO_Servant_Dispatcher *dispatcher)
| Set the servant dispatcher method. Ownership is transferred to this Object Adapter. Note: This should only be called at initialization.
void | init_default_policies (TAO_POA_Policy_Set &policies, CORBA::Environment &ACE_TRY_ENV)
| Initialize the default set of POA policies.
virtual void | open (CORBA::Environment &ACE_TRY_ENV)
virtual void | close (int wait_for_completion, CORBA::Environment &ACE_TRY_ENV)
virtual void | check_close (int wait_for_completion, CORBA::Environment &ACE_TRY_ENV)
virtual int | priority (void) const
virtual int | dispatch (TAO_ObjectKey &key, TAO_ServerRequest &request, CORBA::Object_out foward_to, CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException)
virtual const char* | name (void) const
virtual CORBA::Object_ptr | root (void)
virtual CORBA::Object_ptr | create_collocated_object (TAO_Stub *, const TAO_MProfile &)
Non_Servant_Upcall* | non_servant_upcall_in_progress (void) const
## Public Attributes
persistent_poa_name_map* | persistent_poa_name_map_
transient_poa_map* | transient_poa_map_
## Static Public Methods
CORBA::ULong | transient_poa_name_size (void)
## Protected Types
typedef ACE_Map< poa_name, TAO_POA *> | transient_poa_map
typedef ACE_Hash_Map_Manager_Ex_Adapter< poa_name, TAO_POA *, TAO_ObjectId_Hash, ACE_Equal_To<poa_name>, TAO_Incremental_Key_Generator> | transient_poa_hash_map
typedef ACE_Map_Manager_Adapter< poa_name, TAO_POA *, TAO_Incremental_Key_Generator> | transient_poa_linear_map
typedef ACE_Active_Map_Manager_Adapter< poa_name, TAO_POA *, TAO_Ignore_Original_Key_Adapter> | transient_poa_active_map
typedef ACE_Map< poa_name, TAO_POA *> | persistent_poa_name_map
typedef ACE_Hash_Map_Manager_Ex_Adapter< poa_name, TAO_POA *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, ACE_Noop_Key_Generator<poa_name> > | persistent_poa_name_hash_map
typedef ACE_Map_Manager_Adapter< poa_name, TAO_POA *, ACE_Noop_Key_Generator< poa_name> > | persistent_poa_name_linear_map
## Protected Methods
int | locate_servant_i (const TAO_ObjectKey &key, CORBA_Environment &ACE_TRY_ENV)
TAO_SERVANT_LOCATION | find_servant_i (const TAO_ObjectKey &key, PortableServer::Servant &servant, CORBA_Environment &ACE_TRY_ENV)
void | dispatch_servant_i (const TAO_ObjectKey &key, TAO_ServerRequest &req, void *context, CORBA_Environment &ACE_TRY_ENV)
void | locate_poa (const TAO_ObjectKey &key, PortableServer::ObjectId &id, TAO_POA *&poa, CORBA_Environment &ACE_TRY_ENV)
int | find_transient_poa (const poa_name &system_name, CORBA::Boolean root, const TAO_Temporary_Creation_Time &poa_creation_time, TAO_POA *&poa, CORBA_Environment &ACE_TRY_ENV)
int | find_persistent_poa (const poa_name &system_name, TAO_POA *&poa, CORBA_Environment &ACE_TRY_ENV)
int | bind_transient_poa (TAO_POA *poa, poa_name_out system_name)
int | bind_persistent_poa (const poa_name &folded_name, TAO_POA *poa, poa_name_out system_name)
int | unbind_transient_poa (const poa_name &system_name)
int | unbind_persistent_poa (const poa_name &folded_name, const poa_name &system_name)
void | set_default_server_protocol_policy (CORBA::Environment &ACE_TRY_ENV)
## Protected Attributes
Hint_Strategy* | hint_strategy_
TAO_Servant_Dispatcher* | servant_dispatcher_
| Strategy for dispatching a request to a servant.
TAO_ORB_Core& | orb_core_
int | enable_locking_
TAO_SYNCH_MUTEX | thread_lock_
ACE_Lock* | lock_
ACE_Reverse_Lock<ACE_Lock> | reverse_lock_
## Static Protected Methods
ACE_Lock* | create_lock (int enable_locking, TAO_SYNCH_MUTEX &thread_lock)
void | set_transient_poa_name_size (const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters)
## Static Protected Attributes
size_t | transient_poa_name_size_ = 0
## Private Attributes
TAO_SYNCH_CONDITION | non_servant_upcall_condition_
Non_Servant_Upcall* | non_servant_upcall_in_progress_
ACE_thread_t | non_servant_upcall_thread_
TAO_POA* | root_
TAO_POA_Default_Policy_Validator | default_validator_
| The default validator and the beginning of the chain of policy validators.
TAO_POA_Policy_Set | default_poa_policies_
| Save a list of default policies that should be included in every POA (unless overridden).
## Friends
class | TAO_POA
class | Non_Servant_Upcall
class | Servant_Upcall

## Member Typedef Documentation

typedef ACE_Hash_Map_Manager_Ex_Adapter< poa_name, TAO_POA *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, ACE_Noop_Key_Generator<poa_name> > TAO_Object_Adapter::persistent_poa_name_hash_map`[protected]`

typedef ACE_Map_Manager_Adapter< poa_name, TAO_POA *, ACE_Noop_Key_Generator<poa_name> > TAO_Object_Adapter::persistent_poa_name_linear_map`[protected]`

typedef ACE_Map< poa_name, TAO_POA *> TAO_Object_Adapter::persistent_poa_name_map`[protected]`

typedef PortableServer::ObjectId TAO_Object_Adapter::poa_name

typedef PortableServer::ObjectId_out TAO_Object_Adapter::poa_name_out

typedef PortableServer::ObjectId_var TAO_Object_Adapter::poa_name_var

typedef ACE_Active_Map_Manager_Adapter< poa_name, TAO_POA *, TAO_Ignore_Original_Key_Adapter> TAO_Object_Adapter::transient_poa_active_map`[protected]`

typedef ACE_Hash_Map_Manager_Ex_Adapter< poa_name, TAO_POA *, TAO_ObjectId_Hash, ACE_Equal_To<poa_name>, TAO_Incremental_Key_Generator> TAO_Object_Adapter::transient_poa_hash_map`[protected]`

typedef ACE_Map_Manager_Adapter< poa_name, TAO_POA *, TAO_Incremental_Key_Generator> TAO_Object_Adapter::transient_poa_linear_map`[protected]`

typedef ACE_Map< poa_name, TAO_POA *> TAO_Object_Adapter::transient_poa_map`[protected]`

## Constructor & Destructor Documentation

TAO_Object_Adapter::TAO_Object_Adapter ( | const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters & creation_parameters,
| TAO_ORB_Core & orb_core )

TAO_Object_Adapter::~TAO_Object_Adapter ( | void )

## Member Function Documentation

int TAO_Object_Adapter::activate_poa ( | const poa_name & folded_name,
| TAO_POA *& poa,
| CORBA_Environment & ACE_TRY_ENV )

ACE_INLINE int TAO_Object_Adapter::bind_persistent_poa ( | const poa_name & folded_name,
| TAO_POA * poa,
| poa_name_out system_name )`[protected]`

int TAO_Object_Adapter::bind_poa ( | const poa_name & folded_name,
| TAO_POA * poa,
| poa_name_out system_name )

ACE_INLINE int TAO_Object_Adapter::bind_transient_poa ( | TAO_POA * poa,
| poa_name_out system_name )`[protected]`

void TAO_Object_Adapter::check_close ( | int wait_for_completion,
| CORBA::Environment & ACE_TRY_ENV )`[virtual]`

| Reimplemented from TAO_Adapter.

void TAO_Object_Adapter::close ( | int wait_for_completion,
| CORBA::Environment & ACE_TRY_ENV )`[virtual]`

| Reimplemented from TAO_Adapter.

CORBA::Object_ptr TAO_Object_Adapter::create_collocated_object ( | TAO_Stub * stub,
| const TAO_MProfile & mp )`[virtual]`

| Reimplemented from TAO_Adapter.

ACE_Lock * TAO_Object_Adapter::create_lock ( | int enable_locking,
| TAO_SYNCH_MUTEX & thread_lock )`[static, protected]`

ACE_INLINE TAO_POA_Policy_Set & TAO_Object_Adapter::default_poa_policies ( | void )

| Return the set of default policies.

int TAO_Object_Adapter::dispatch ( | TAO_ObjectKey & key,
| TAO_ServerRequest & request,
| CORBA::Object_out forward_to,
| CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException)`[virtual]`

| Reimplemented from TAO_Adapter.

int TAO_Object_Adapter::dispatch_servant ( | const TAO_ObjectKey & key,
| TAO_ServerRequest & req,
| CORBA::Object_out forward_to,
| CORBA_Environment & ACE_TRY_ENV )

void TAO_Object_Adapter::dispatch_servant_i ( | const TAO_ObjectKey & key,
| TAO_ServerRequest & req,
| void * context,
| CORBA_Environment & ACE_TRY_ENV )`[protected]`

ACE_INLINE int TAO_Object_Adapter::find_persistent_poa ( | const poa_name & system_name,
| TAO_POA *& poa,
| CORBA_Environment & ACE_TRY_ENV )`[protected]`

ACE_INLINE int TAO_Object_Adapter::find_poa ( | const poa_name & system_name,
| CORBA::Boolean activate_it,
| CORBA::Boolean root,
| const TAO_Temporary_Creation_Time & poa_creation_time,
| TAO_POA *& poa,
| CORBA_Environment & ACE_TRY_ENV )

TAO_SERVANT_LOCATION TAO_Object_Adapter::find_servant ( | const TAO_ObjectKey & key,
| PortableServer::Servant & servant,
| CORBA_Environment & ACE_TRY_ENV )

TAO_SERVANT_LOCATION TAO_Object_Adapter::find_servant_i ( | const TAO_ObjectKey & key,
| PortableServer::Servant & servant,
| CORBA_Environment & ACE_TRY_ENV )`[protected]`

int TAO_Object_Adapter::find_transient_poa ( | const poa_name & system_name,
| CORBA::Boolean root,
| const TAO_Temporary_Creation_Time & poa_creation_time,
| TAO_POA *& poa,
| CORBA_Environment & ACE_TRY_ENV )`[protected]`

void TAO_Object_Adapter::init_default_policies ( | TAO_POA_Policy_Set & policies,
| CORBA::Environment & ACE_TRY_ENV )

| Initialize the default set of POA policies.

void TAO_Object_Adapter::locate_poa ( | const TAO_ObjectKey & key,
| PortableServer::ObjectId & system_id,
| TAO_POA *& poa,
| CORBA_Environment & ACE_TRY_ENV )`[protected]`

int TAO_Object_Adapter::locate_servant ( | const TAO_ObjectKey & key,
| CORBA_Environment & ACE_TRY_ENV )

int TAO_Object_Adapter::locate_servant_i ( | const TAO_ObjectKey & key,
| CORBA_Environment & ACE_TRY_ENV )`[protected]`

ACE_INLINE ACE_Lock & TAO_Object_Adapter::lock ( | void )

const char * TAO_Object_Adapter::name ( | void ) const`[virtual]`

| Reimplemented from TAO_Adapter.

ACE_INLINE TAO_Object_Adapter::Non_Servant_Upcall * TAO_Object_Adapter::non_servant_upcall_in_progress ( | void ) const

void TAO_Object_Adapter::open ( | CORBA::Environment & ACE_TRY_ENV )`[virtual]`

| Reimplemented from TAO_Adapter.

ACE_INLINE TAO_ORB_Core & TAO_Object_Adapter::orb_core ( | void ) const

int TAO_Object_Adapter::priority ( | void ) const`[virtual]`

| Reimplemented from TAO_Adapter.

ACE_INLINE ACE_Reverse_Lock< ACE_Lock >& TAO_Object_Adapter::reverse_lock ( | void )

CORBA::Object_ptr TAO_Object_Adapter::root ( | void )`[virtual]`

| Reimplemented from TAO_Adapter.

ACE_INLINE TAO_POA * TAO_Object_Adapter::root_poa ( | void ) const

void TAO_Object_Adapter::servant_dispatcher ( | TAO_Servant_Dispatcher * dispatcher )

| Set the servant dispatcher method. Ownership is transferred to this Object Adapter. Note: This should only be called at initialization.

void TAO_Object_Adapter::set_default_server_protocol_policy ( | CORBA::Environment & ACE_TRY_ENV )`[protected]`

void TAO_Object_Adapter::set_transient_poa_name_size ( | const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters & creation_parameters )`[static, protected]`

ACE_INLINE TAO_SYNCH_MUTEX & TAO_Object_Adapter::thread_lock ( | void )

ACE_INLINE CORBA::ULong TAO_Object_Adapter::transient_poa_name_size ( | void )`[static]`

ACE_INLINE int TAO_Object_Adapter::unbind_persistent_poa ( | const poa_name & folded_name,
| const poa_name & system_name )`[protected]`

int TAO_Object_Adapter::unbind_poa ( | TAO_POA * poa,
| const poa_name & folded_name,
| const poa_name & system_name )

ACE_INLINE int TAO_Object_Adapter::unbind_transient_poa ( | const poa_name & system_name )`[protected]`

ACE_INLINE TAO_POA_Policy_Validator & TAO_Object_Adapter::validator ( | void )

| Return the validator.

void TAO_Object_Adapter::wait_for_non_servant_upcalls_to_complete ( | void )

void TAO_Object_Adapter::wait_for_non_servant_upcalls_to_complete ( | CORBA::Environment & ACE_TRY_ENV )

## Friends And Related Function Documentation

class Non_Servant_Upcall`[friend]`

class Servant_Upcall`[friend]`

class TAO_POA`[friend]`

## Member Data Documentation

TAO_POA_Policy_Set TAO_Object_Adapter::default_poa_policies_`[private]`

| Save a list of default policies that should be included in every POA (unless overridden).

TAO_POA_Default_Policy_Validator TAO_Object_Adapter::default_validator_`[private]`

| The default validator and the beginning of the chain of policy validators.

int TAO_Object_Adapter::enable_locking_`[protected]`

Hint_Strategy * TAO_Object_Adapter::hint_strategy_`[protected]`

ACE_Lock * TAO_Object_Adapter::lock_`[protected]`

TAO_SYNCH_CONDITION TAO_Object_Adapter::non_servant_upcall_condition_`[private]`

Non_Servant_Upcall * TAO_Object_Adapter::non_servant_upcall_in_progress_`[private]`

ACE_thread_t TAO_Object_Adapter::non_servant_upcall_thread_`[private]`

TAO_ORB_Core & TAO_Object_Adapter::orb_core_`[protected]`

persistent_poa_name_map * TAO_Object_Adapter::persistent_poa_name_map_

ACE_Reverse_Lock< ACE_Lock > TAO_Object_Adapter::reverse_lock_`[protected]`

TAO_POA * TAO_Object_Adapter::root_`[private]`

TAO_Servant_Dispatcher * TAO_Object_Adapter::servant_dispatcher_`[protected]`

| Strategy for dispatching a request to a servant.

TAO_SYNCH_MUTEX TAO_Object_Adapter::thread_lock_`[protected]`

transient_poa_map * TAO_Object_Adapter::transient_poa_map_

size_t TAO_Object_Adapter::transient_poa_name_size_ = 0`[inline, static, protected]`

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

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