TAO_PortableServer
2.1.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 |
Public Member Functions | |
TAO_Object_Adapter (const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters, TAO_ORB_Core &orb_core) | |
Constructor. | |
~TAO_Object_Adapter (void) | |
Destructor. | |
int | dispatch_servant (const TAO::ObjectKey &key, TAO_ServerRequest &req, CORBA::Object_out forward_to) |
int | locate_servant (const TAO::ObjectKey &key) |
TAO_SERVANT_LOCATION | find_servant (const TAO::ObjectKey &key, PortableServer::Servant &servant) |
int | 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) |
int | bind_poa (const poa_name &folded_name, TAO_Root_POA *poa, poa_name_out system_name) |
int | unbind_poa (TAO_Root_POA *poa, const poa_name &folded_name, const poa_name &system_name) |
int | activate_poa (const poa_name &folded_name, TAO_Root_POA *&poa) |
ACE_Lock & | lock (void) |
TAO_SYNCH_MUTEX & | thread_lock (void) |
ACE_Reverse_Lock< ACE_Lock > & | reverse_lock (void) |
TAO_Root_POA * | root_poa (void) const |
Access the root poa. | |
TAO_ORB_Core & | orb_core (void) const |
Access to ORB Core. | |
void | wait_for_non_servant_upcalls_to_complete (void) |
Wait for non-servant upcalls to complete. | |
void | wait_for_non_servant_upcalls_to_complete_no_throw (void) |
Non-exception throwing version. | |
TAO_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) |
void | init_default_policies (TAO_POA_Policy_Set &policies) |
Initialize the default set of POA policies. | |
virtual void | open (void) |
virtual void | close (int wait_for_completion) |
virtual void | check_close (int wait_for_completion) |
virtual int | priority (void) const |
virtual int | dispatch (TAO::ObjectKey &key, TAO_ServerRequest &request, CORBA::Object_out forward_to) |
virtual const char * | name (void) const |
virtual CORBA::Object_ptr | root (void) |
virtual CORBA::Object_ptr | create_collocated_object (TAO_Stub *, const TAO_MProfile &) |
virtual CORBA::Long | initialize_collocated_object (TAO_Stub *) |
TAO::Portable_Server::Non_Servant_Upcall * | non_servant_upcall_in_progress (void) const |
![]() | |
virtual | ~TAO_Adapter (void) |
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. | |
persistent_poa_name_map * | persistent_poa_name_map_ |
Persistent POA map. | |
transient_poa_map * | transient_poa_map_ |
Transient POA map. | |
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. |
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. | |
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. | |
ACE_thread_t | non_servant_upcall_thread_ |
Id of thread making the non-servant upcall. | |
TAO_Root_POA * | root_ |
The Root POA. | |
TAO_POAManager_Factory * | poa_manager_factory_ |
The POAManager factory. | |
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 | |
![]() | |
DS_OK | |
DS_FAILED | |
DS_MISMATCHED_KEY | |
DS_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 |
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 |
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 | ||
) |
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 |
int TAO_Object_Adapter::locate_servant | ( | const TAO::ObjectKey & | key | ) |
|
protected |
ACE_Lock & TAO_Object_Adapter::lock | ( | void | ) |
|
virtual |
Implements TAO_Adapter.
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.
TAO_ORB_Core & TAO_Object_Adapter::orb_core | ( | void | ) | const |
Access to ORB Core.
|
virtual |
Implements TAO_Adapter.
|
staticprivate |
ACE_Reverse_Lock< ACE_Lock > & TAO_Object_Adapter::reverse_lock | ( | void | ) |
|
virtual |
Implements TAO_Adapter.
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 |
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 |
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 |