TAO_PortableServer
2.3.3
|
Defines the Object Adapter abstraction. More...
#include <Object_Adapter.h>
Classes | |
class | Active_Hint_Strategy |
This class uses active demux hint for POA active hint strategy. More... | |
class | Hint_Strategy |
Base class for POA active hint strategy. More... | |
class | iteratable_poa_name |
This class allows iteration over a folded poa name. More... | |
class | No_Hint_Strategy |
This class doesn't use any hints for POA active hint strategy. More... | |
class | poa_name_iterator |
Iterator for a folded poa name. More... | |
Public Types | |
typedef PortableServer::ObjectId | poa_name |
typedef PortableServer::ObjectId_var | poa_name_var |
typedef PortableServer::ObjectId_out | poa_name_out |
Static Public Member Functions | |
static CORBA::ULong | transient_poa_name_size (void) |
Static Protected Member Functions | |
static ACE_Lock * | create_lock (TAO_SYNCH_MUTEX &thread_lock) |
static void | set_transient_poa_name_size (const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters) |
Protected Attributes | |
Hint_Strategy * | hint_strategy_ |
TAO_Servant_Dispatcher * | servant_dispatcher_ |
Strategy for dispatching a request to a servant. More... | |
persistent_poa_name_map * | persistent_poa_name_map_ |
Persistent POA map. More... | |
transient_poa_map * | transient_poa_map_ |
Transient POA map. More... | |
TAO_ORB_Core & | orb_core_ |
TAO_SYNCH_MUTEX | thread_lock_ |
ACE_Lock * | lock_ |
ACE_Reverse_Lock< ACE_Lock > | reverse_lock_ |
Static Protected Attributes | |
static CORBA::ULong | transient_poa_name_size_ = 0 |
Private Member Functions | |
TAO_ServantBase * | get_collocated_servant (const TAO_MProfile &mp) |
Helper method to get collocated servant. More... | |
Static Private Member Functions | |
static void | release_poa_manager_factory (TAO_POAManager_Factory *factory) |
Private Attributes | |
TAO_SYNCH_CONDITION | non_servant_upcall_condition_ |
Condition variable for waiting on non-servant upcalls to end. More... | |
TAO::Portable_Server::Non_Servant_Upcall * | non_servant_upcall_in_progress_ |
unsigned int | non_servant_upcall_nesting_level_ |
Current nesting level of non_servant_upcalls. More... | |
ACE_thread_t | non_servant_upcall_thread_ |
Id of thread making the non-servant upcall. More... | |
TAO_Root_POA * | root_ |
The Root POA. More... | |
TAO_POAManager_Factory * | poa_manager_factory_ |
The POAManager factory. More... | |
TAO_POA_Default_Policy_Validator | default_validator_ |
TAO_POA_Policy_Set | default_poa_policies_ |
Friends | |
class | TAO_Root_POA |
class | Active_Hint_Strategy |
class | No_Hint_Strategy |
class | TAO::Portable_Server::Non_Servant_Upcall |
class | TAO::Portable_Server::Servant_Upcall |
Additional Inherited Members | |
Public Attributes inherited from TAO_Adapter | |
DS_OK | |
DS_FAILED | |
DS_MISMATCHED_KEY | |
DS_FORWARD | |
DS_DEFERRED_FORWARD | |
Defines the Object Adapter abstraction.
This class will be used as a facade for the POAs in a server
Id hash map.
|
protected |
Id linear map.
|
protected |
Base class of the name map.
|
protected |
Id active map.
|
protected |
Id hash map.
|
protected |
Id linear map.
|
protected |
Base class of the id map.
TAO_Object_Adapter::TAO_Object_Adapter | ( | const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters & | creation_parameters, |
TAO_ORB_Core & | orb_core | ||
) |
Constructor.
TAO_Object_Adapter::~TAO_Object_Adapter | ( | void | ) |
Destructor.
int TAO_Object_Adapter::activate_poa | ( | const poa_name & | folded_name, |
TAO_Root_POA *& | poa | ||
) |
|
protected |
int TAO_Object_Adapter::bind_poa | ( | const poa_name & | folded_name, |
TAO_Root_POA * | poa, | ||
poa_name_out | system_name | ||
) |
|
protected |
|
virtual |
Implements TAO_Adapter.
|
virtual |
Implements TAO_Adapter.
|
virtual |
Implements TAO_Adapter.
|
staticprotected |
ACE_INLINE TAO_POA_Policy_Set & TAO_Object_Adapter::default_poa_policies | ( | void | ) |
Return the set of default policies.
|
virtual |
Implements TAO_Adapter.
int TAO_Object_Adapter::dispatch_servant | ( | const TAO::ObjectKey & | key, |
TAO_ServerRequest & | req, | ||
CORBA::Object_out | forward_to | ||
) |
|
protected |
|
protectedvirtual |
|
protected |
ACE_INLINE int TAO_Object_Adapter::find_poa | ( | const poa_name & | system_name, |
CORBA::Boolean | activate_it, | ||
CORBA::Boolean | root, | ||
const TAO::Portable_Server::Temporary_Creation_Time & | poa_creation_time, | ||
TAO_Root_POA *& | poa | ||
) |
ACE_INLINE TAO_SERVANT_LOCATION TAO_Object_Adapter::find_servant | ( | const TAO::ObjectKey & | key, |
PortableServer::Servant & | servant | ||
) |
|
protected |
|
protected |
|
private |
Helper method to get collocated servant.
void TAO_Object_Adapter::init_default_policies | ( | TAO_POA_Policy_Set & | policies | ) |
Initialize the default set of POA policies.
|
virtual |
Implements TAO_Adapter.
|
protected |
ACE_INLINE int TAO_Object_Adapter::locate_servant | ( | const TAO::ObjectKey & | key | ) |
|
protected |
ACE_INLINE ACE_Lock & TAO_Object_Adapter::lock | ( | void | ) |
|
virtual |
Implements TAO_Adapter.
ACE_INLINE TAO::Portable_Server::Non_Servant_Upcall * TAO_Object_Adapter::non_servant_upcall_in_progress | ( | void | ) | const |
Pointer to the non-servant upcall in progress. If no non-servant upcall is in progress, this pointer is zero.
|
virtual |
Implements TAO_Adapter.
ACE_INLINE TAO_ORB_Core & TAO_Object_Adapter::orb_core | ( | void | ) | const |
Access to ORB Core.
|
virtual |
Implements TAO_Adapter.
|
staticprivate |
ACE_INLINE ACE_Reverse_Lock< ACE_Lock > & TAO_Object_Adapter::reverse_lock | ( | void | ) |
|
virtual |
Implements TAO_Adapter.
ACE_INLINE TAO_Root_POA * TAO_Object_Adapter::root_poa | ( | void | ) | const |
Access the root poa.
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.
|
staticprotected |
ACE_INLINE TAO_SYNCH_MUTEX & TAO_Object_Adapter::thread_lock | ( | void | ) |
|
static |
|
protected |
int TAO_Object_Adapter::unbind_poa | ( | TAO_Root_POA * | poa, |
const poa_name & | folded_name, | ||
const poa_name & | system_name | ||
) |
|
protected |
ACE_INLINE TAO_Policy_Validator & TAO_Object_Adapter::validator | ( | void | ) |
Return the validator.
void TAO_Object_Adapter::wait_for_non_servant_upcalls_to_complete | ( | void | ) |
Wait for non-servant upcalls to complete.
void TAO_Object_Adapter::wait_for_non_servant_upcalls_to_complete_no_throw | ( | void | ) |
Non-exception throwing version.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
private |
Save a list of default policies that should be included in every POA (unless overridden).
|
private |
The default validator and the beginning of the chain of policy validators.
|
protected |
|
protected |
|
private |
Condition variable for waiting on non-servant upcalls to end.
|
private |
Pointer to the non-servant upcall in progress. If no non-servant upcall is in progress, this pointer is zero.
|
private |
Current nesting level of non_servant_upcalls.
|
private |
Id of thread making the non-servant upcall.
|
protected |
|
protected |
Persistent POA map.
|
private |
The POAManager factory.
|
protected |
|
private |
The Root POA.
|
protected |
Strategy for dispatching a request to a servant.
|
protected |
|
protected |
Transient POA map.
|
staticprotected |