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

TAO_Active_Object_Map Class Reference

Map of object ids to servants. More...

#include <Active_Object_Map.h>

Collaboration diagram for TAO_Active_Object_Map:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_Map< PortableServer::ObjectId,
Map_Entry * > 
user_id_map
 Base class of the id map.

typedef ACE_Hash_Map_Manager_Ex_Adapter<
PortableServer::ObjectId,
Map_Entry *, TAO_ObjectId_Hash,
ACE_Equal_To< PortableServer::ObjectId >,
TAO_Incremental_Key_Generator
user_id_hash_map
 Id hash map.

typedef ACE_Map_Manager_Adapter<
PortableServer::ObjectId,
Map_Entry *, TAO_Incremental_Key_Generator
user_id_linear_map
 Id linear map.

typedef ACE_Active_Map_Manager_Adapter<
PortableServer::ObjectId,
Map_Entry *, TAO_Ignore_Original_Key_Adapter
user_id_active_map
 Id active map.

typedef ACE_Map< PortableServer::Servant,
Map_Entry * > 
servant_map
 Base class of the servant map.

typedef ACE_Hash_Map_Manager_Ex_Adapter<
PortableServer::Servant,
Map_Entry *, TAO_Servant_Hash,
ACE_Equal_To< PortableServer::Servant >,
ACE_Noop_Key_Generator< PortableServer::Servant > > 
servant_hash_map
 Servant hash map.

typedef ACE_Map_Manager_Adapter<
PortableServer::Servant,
Map_Entry *, ACE_Noop_Key_Generator<
PortableServer::Servant > > 
servant_linear_map
 Servant linear map.


Public Methods

 TAO_Active_Object_Map (int user_id_policy, int unique_id_policy, int persistent_id_policy, const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters ACE_ENV_ARG_DECL)
 Constructor.

 ~TAO_Active_Object_Map (void)
 Destructor.

int is_servant_in_map (PortableServer::Servant servant, int &deactivated)
 Must be used with UNIQUE_ID policy.

int is_user_id_in_map (const PortableServer::ObjectId &user_id, CORBA::Short priority, int &priorities_match, int &deactivated)
int bind_using_system_id_returning_system_id (PortableServer::Servant servant, CORBA::Short priority, PortableServer::ObjectId_out system_id)
 Must be used with SYSTEM_ID policy.

int bind_using_system_id_returning_user_id (PortableServer::Servant servant, CORBA::Short priority, PortableServer::ObjectId_out user_id)
 Must be used with SYSTEM_ID policy.

int bind_using_user_id (PortableServer::Servant servant, const PortableServer::ObjectId &user_id, CORBA::Short priority)
int find_system_id_using_user_id (const PortableServer::ObjectId &user_id, CORBA::Short priority, PortableServer::ObjectId_out system_id)
int rebind_using_user_id_and_system_id (PortableServer::Servant servant, const PortableServer::ObjectId &user_id, const PortableServer::ObjectId &system_id, TAO_Active_Object_Map::Map_Entry *&entry)
 Can be used with any policy.

int unbind_using_user_id (const PortableServer::ObjectId &user_id)
int find_user_id_using_servant (PortableServer::Servant servant, PortableServer::ObjectId_out user_id)
int find_system_id_using_servant (PortableServer::Servant servant, PortableServer::ObjectId_out system_id, CORBA::Short &priority)
int find_servant_using_user_id (const PortableServer::ObjectId &user_id, PortableServer::Servant &servant)
int find_servant_using_system_id_and_user_id (const PortableServer::ObjectId &system_id, const PortableServer::ObjectId &user_id, PortableServer::Servant &servant, TAO_Active_Object_Map::Map_Entry *&entry)
 Can be used with any policy.

int find_servant_and_system_id_using_user_id (const PortableServer::ObjectId &user_id, PortableServer::Servant &servant, PortableServer::ObjectId_out system_id, CORBA::Short &priority)
int find_servant_and_system_id_using_user_id (const PortableServer::ObjectId &user_id, TAO_Active_Object_Map::Map_Entry *&entry)
int find_user_id_using_system_id (const PortableServer::ObjectId &system_id, PortableServer::ObjectId_out user_id)
int find_user_id_using_system_id (const PortableServer::ObjectId &system_id, PortableServer::ObjectId &user_id)
CORBA::Boolean remaining_activations (PortableServer::Servant servant)
size_t current_size (void)
 Size of the map.


Static Public Methods

size_t system_id_size (void)
 Can be used with any policy.

void set_system_id_size (const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters)
 Set the system id size.


Public Attributes

user_id_mapuser_id_map_
 Id map.

servant_mapservant_map_
 Servant map.

TAO_Id_Uniqueness_Strategyid_uniqueness_strategy_
 Id uniqueness strategy.

TAO_Lifespan_Strategylifespan_strategy_
 Lifespan strategy.

TAO_Id_Assignment_Strategyid_assignment_strategy_
 Id assignment strategy.

TAO_Id_Hint_Strategyid_hint_strategy_
 Id hint strategy.

int using_active_maps_

Static Public Attributes

size_t system_id_size_ = 0
 Size of the system id produced by the map.


Detailed Description

Map of object ids to servants.

Implementation to be used by the POA.


Member Typedef Documentation

typedef ACE_Hash_Map_Manager_Ex_Adapter< PortableServer::Servant, Map_Entry *, TAO_Servant_Hash, ACE_Equal_To<PortableServer::Servant>, ACE_Noop_Key_Generator<PortableServer::Servant> > TAO_Active_Object_Map::servant_hash_map
 

Servant hash map.

typedef ACE_Map_Manager_Adapter< PortableServer::Servant, Map_Entry *, ACE_Noop_Key_Generator<PortableServer::Servant> > TAO_Active_Object_Map::servant_linear_map
 

Servant linear map.

typedef ACE_Map< PortableServer::Servant, Map_Entry *> TAO_Active_Object_Map::servant_map
 

Base class of the servant map.

typedef ACE_Active_Map_Manager_Adapter< PortableServer::ObjectId, Map_Entry *, TAO_Ignore_Original_Key_Adapter> TAO_Active_Object_Map::user_id_active_map
 

Id active map.

typedef ACE_Hash_Map_Manager_Ex_Adapter< PortableServer::ObjectId, Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_Incremental_Key_Generator> TAO_Active_Object_Map::user_id_hash_map
 

Id hash map.

typedef ACE_Map_Manager_Adapter< PortableServer::ObjectId, Map_Entry *, TAO_Incremental_Key_Generator> TAO_Active_Object_Map::user_id_linear_map
 

Id linear map.

typedef ACE_Map< PortableServer::ObjectId, Map_Entry *> TAO_Active_Object_Map::user_id_map
 

Base class of the id map.


Constructor & Destructor Documentation

TAO_Active_Object_Map::TAO_Active_Object_Map int    user_id_policy,
int    unique_id_policy,
int    persistent_id_policy,
const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters    ACE_ENV_ARG_DECL
 

Constructor.

TAO_Active_Object_Map::~TAO_Active_Object_Map void   
 

Destructor.


Member Function Documentation

ACE_INLINE int TAO_Active_Object_Map::bind_using_system_id_returning_system_id PortableServer::Servant    servant,
CORBA::Short    priority,
PortableServer::ObjectId_out    system_id
 

Must be used with SYSTEM_ID policy.

ACE_INLINE int TAO_Active_Object_Map::bind_using_system_id_returning_user_id PortableServer::Servant    servant,
CORBA::Short    priority,
PortableServer::ObjectId_out    user_id
 

Must be used with SYSTEM_ID policy.

ACE_INLINE int TAO_Active_Object_Map::bind_using_user_id PortableServer::Servant    servant,
const PortableServer::ObjectId   user_id,
CORBA::Short    priority
 

Can be used with any policy. With the SYSTEM_ID policy, <user_id> is actually <system_id>.

ACE_INLINE size_t TAO_Active_Object_Map::current_size void   
 

Size of the map.

ACE_INLINE int TAO_Active_Object_Map::find_servant_and_system_id_using_user_id const PortableServer::ObjectId   user_id,
TAO_Active_Object_Map::Map_Entry *&    entry
 

Can be used with any policy. With the SYSTEM_ID policy, <user_id> is identical to <system_id>.

ACE_INLINE int TAO_Active_Object_Map::find_servant_and_system_id_using_user_id const PortableServer::ObjectId   user_id,
PortableServer::Servant   servant,
PortableServer::ObjectId_out    system_id,
CORBA::Short   priority
 

Can be used with any policy. With the SYSTEM_ID policy, <user_id> is identical to <system_id>.

ACE_INLINE int TAO_Active_Object_Map::find_servant_using_system_id_and_user_id const PortableServer::ObjectId   system_id,
const PortableServer::ObjectId   user_id,
PortableServer::Servant   servant,
TAO_Active_Object_Map::Map_Entry *&    entry
 

Can be used with any policy.

ACE_INLINE int TAO_Active_Object_Map::find_servant_using_user_id const PortableServer::ObjectId   user_id,
PortableServer::Servant   servant
 

Can be used with any policy. With the SYSTEM_ID policy, <user_id> is actually <system_id>.

ACE_INLINE int TAO_Active_Object_Map::find_system_id_using_servant PortableServer::Servant    servant,
PortableServer::ObjectId_out    system_id,
CORBA::Short   priority
 

Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy, <user_id> is actually <system_id>.

ACE_INLINE int TAO_Active_Object_Map::find_system_id_using_user_id const PortableServer::ObjectId   user_id,
CORBA::Short    priority,
PortableServer::ObjectId_out    system_id
 

Can be used with any policy. With the SYSTEM_ID policy, <user_id> is actually <system_id>.

ACE_INLINE int TAO_Active_Object_Map::find_user_id_using_servant PortableServer::Servant    servant,
PortableServer::ObjectId_out    user_id
 

Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy, <user_id> is actually <system_id>.

ACE_INLINE int TAO_Active_Object_Map::find_user_id_using_system_id const PortableServer::ObjectId   system_id,
PortableServer::ObjectId   user_id
 

Can be used with any policy. When the SYSTEM_ID policy is used, the <system_id> is identical to <user_id>.

ACE_INLINE int TAO_Active_Object_Map::find_user_id_using_system_id const PortableServer::ObjectId   system_id,
PortableServer::ObjectId_out    user_id
 

Can be used with any policy. When the SYSTEM_ID policy is used, the <system_id> is identical to <user_id>.

ACE_INLINE int TAO_Active_Object_Map::is_servant_in_map PortableServer::Servant    servant,
int &    deactivated
 

Must be used with UNIQUE_ID policy.

int TAO_Active_Object_Map::is_user_id_in_map const PortableServer::ObjectId   user_id,
CORBA::Short    priority,
int &    priorities_match,
int &    deactivated
 

Can be used with any policy. With the SYSTEM_ID policy, <user_id> is actually <system_id>.

ACE_INLINE int TAO_Active_Object_Map::rebind_using_user_id_and_system_id PortableServer::Servant    servant,
const PortableServer::ObjectId   user_id,
const PortableServer::ObjectId   system_id,
TAO_Active_Object_Map::Map_Entry *&    entry
 

Can be used with any policy.

ACE_INLINE CORBA::Boolean TAO_Active_Object_Map::remaining_activations PortableServer::Servant    servant
 

Are there any remaining activations of <servant> in the active object map? Can be used with any policy.

void TAO_Active_Object_Map::set_system_id_size const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters   creation_parameters [static]
 

Set the system id size.

ACE_INLINE size_t TAO_Active_Object_Map::system_id_size void    [static]
 

Can be used with any policy.

ACE_INLINE int TAO_Active_Object_Map::unbind_using_user_id const PortableServer::ObjectId   user_id
 

Can be used with any policy. With the SYSTEM_ID policy, <user_id> is actually <system_id>.


Member Data Documentation

TAO_Id_Assignment_Strategy* TAO_Active_Object_Map::id_assignment_strategy_
 

Id assignment strategy.

TAO_Id_Hint_Strategy* TAO_Active_Object_Map::id_hint_strategy_
 

Id hint strategy.

TAO_Id_Uniqueness_Strategy* TAO_Active_Object_Map::id_uniqueness_strategy_
 

Id uniqueness strategy.

TAO_Lifespan_Strategy* TAO_Active_Object_Map::lifespan_strategy_
 

Lifespan strategy.

servant_map* TAO_Active_Object_Map::servant_map_
 

Servant map.

size_t TAO_Active_Object_Map::system_id_size_ = 0 [static]
 

Size of the system id produced by the map.

user_id_map* TAO_Active_Object_Map::user_id_map_
 

Id map.

int TAO_Active_Object_Map::using_active_maps_
 

Flag to see if we are using active maps in this active object map.


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