TAO_PortableServer  2.3.3
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
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]

Public Types

typedef ACE_Map< PortableServer::ObjectId, TAO_Active_Object_Map_Entry * > user_id_map
 Base class of the id map. More...
 
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_Generatoruser_id_hash_map
 Id hash map. More...
 
typedef ACE_Map_Manager_Adapter< PortableServer::ObjectId, TAO_Active_Object_Map_Entry *, TAO_Incremental_Key_Generatoruser_id_linear_map
 Id linear map. More...
 
typedef ACE_Active_Map_Manager_Adapter< PortableServer::ObjectId, TAO_Active_Object_Map_Entry *, TAO_Ignore_Original_Key_Adapteruser_id_active_map
 Id active map. More...
 
typedef ACE_Map< PortableServer::Servant, TAO_Active_Object_Map_Entry * > servant_map
 Base class of the servant map. More...
 
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. More...
 
typedef ACE_Map_Manager_Adapter< PortableServer::Servant, TAO_Active_Object_Map_Entry *, ACE_Noop_Key_Generator< PortableServer::Servant > > servant_linear_map
 Servant linear map. More...
 

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. More...
 
 ~TAO_Active_Object_Map (void)
 Destructor. More...
 
int is_servant_in_map (PortableServer::Servant servant, bool &deactivated)
 Must be used with UNIQUE_ID policy. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Static Public Member Functions

static size_t system_id_size (void)
 Can be used with any policy. More...
 
static void set_system_id_size (const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters)
 Set the system id size. More...
 

Public Attributes

auto_ptr< user_id_mapuser_id_map_
 Id map. More...
 
auto_ptr< servant_mapservant_map_
 Servant map. More...
 
auto_ptr< TAO_Id_Uniqueness_Strategyid_uniqueness_strategy_
 Id uniqueness strategy. More...
 
auto_ptr< TAO_Lifespan_Strategylifespan_strategy_
 Lifespan strategy. More...
 
auto_ptr< TAO_Id_Assignment_Strategyid_assignment_strategy_
 Id assignment strategy. More...
 
auto_ptr< TAO_Id_Hint_Strategyid_hint_strategy_
 Id hint strategy. More...
 
bool using_active_maps_
 

Static Public Attributes

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

Detailed Description

Map of object ids to servants.

Implementation to be used by the POA.

Member Typedef Documentation

Servant hash map.

Servant linear map.

Base class of the servant map.

Id active map.

Id hash map.

Id linear 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 
)

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

Return values
-1Entry is not found or is deactivated.
0Entry 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_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::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::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

auto_ptr<TAO_Id_Assignment_Strategy> TAO_Active_Object_Map::id_assignment_strategy_

Id assignment strategy.

auto_ptr<TAO_Id_Hint_Strategy> TAO_Active_Object_Map::id_hint_strategy_

Id hint strategy.

auto_ptr<TAO_Id_Uniqueness_Strategy> TAO_Active_Object_Map::id_uniqueness_strategy_

Id uniqueness strategy.

auto_ptr<TAO_Lifespan_Strategy> TAO_Active_Object_Map::lifespan_strategy_

Lifespan strategy.

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

auto_ptr<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: