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,
TAO_Active_Object_Map_Entry * > 
user_id_map
 Base class of the id map.
typedef ACE_Hash_Map_Manager_Ex_Adapter<
PortableServer::ObjectId,
TAO_Active_Object_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,
TAO_Active_Object_Map_Entry *,
TAO_Incremental_Key_Generator
user_id_linear_map
 Id linear map.
typedef ACE_Active_Map_Manager_Adapter<
PortableServer::ObjectId,
TAO_Active_Object_Map_Entry *,
TAO_Ignore_Original_Key_Adapter
user_id_active_map
 Id active map.
typedef ACE_Map< PortableServer::Servant,
TAO_Active_Object_Map_Entry * > 
servant_map
 Base class of the servant map.
typedef ACE_Hash_Map_Manager_Ex_Adapter<
PortableServer::Servant,
TAO_Active_Object_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,
TAO_Active_Object_Map_Entry *,
ACE_Noop_Key_Generator< PortableServer::Servant > > 
servant_linear_map
 Servant linear map.

Public Member Functions

 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)
 Constructor.
 ~TAO_Active_Object_Map (void)
 Destructor.
int is_servant_in_map (PortableServer::Servant servant, bool &deactivated)
 Must be used with UNIQUE_ID policy.
bool is_user_id_in_map (const PortableServer::ObjectId &user_id, CORBA::Short priority, bool &priorities_match, bool &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_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_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_entry_using_user_id (const PortableServer::ObjectId &user_id, TAO_Active_Object_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 Member Functions

static size_t system_id_size (void)
 Can be used with any policy.
static 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.
bool using_active_maps_

Static Public Attributes

static 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, TAO_Active_Object_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, TAO_Active_Object_Map_Entry *, ACE_Noop_Key_Generator<PortableServer::Servant> > TAO_Active_Object_Map::servant_linear_map

Servant linear map.

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

Base class of the servant map.

typedef ACE_Active_Map_Manager_Adapter< PortableServer::ObjectId, TAO_Active_Object_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, TAO_Active_Object_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, TAO_Active_Object_Map_Entry *, TAO_Incremental_Key_Generator> TAO_Active_Object_Map::user_id_linear_map

Id linear map.

typedef ACE_Map< PortableServer::ObjectId, TAO_Active_Object_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 
)

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_entry_using_user_id ( const PortableServer::ObjectId user_id,
TAO_Active_Object_Map_Entry *&  entry 
)

Return values:
-1 Entry is not found or is deactivated.
0 Entry is found.

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_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>.

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE int TAO_Active_Object_Map::is_servant_in_map ( PortableServer::Servant  servant,
bool &  deactivated 
)

Must be used with UNIQUE_ID policy.

bool TAO_Active_Object_Map::is_user_id_in_map ( const PortableServer::ObjectId user_id,
CORBA::Short  priority,
bool &  priorities_match,
bool &  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_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.

TAO_BEGIN_VERSIONED_NAMESPACE_DECL 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.

bool 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 Mon Apr 30 23:10:21 2007 for TAO_PortableServer by  doxygen 1.4.7-1