System id strategy. More...
#include <Active_Object_Map.h>


Public Member Functions | |
| virtual int | bind_using_system_id (PortableServer::Servant servant, CORBA::Short priority, TAO_Active_Object_Map_Entry *&entry) |
| Must be used with SYSTEM_ID policy. | |
System id strategy.
Strategy for the SYSTEM_ID policy (with MULTIPLE_ID policy).
Definition at line 577 of file Active_Object_Map.h.
| int TAO_System_Id_With_Multiple_Id_Strategy::bind_using_system_id | ( | PortableServer::Servant | servant, | |
| CORBA::Short | priority, | |||
| TAO_Active_Object_Map_Entry *& | entry | |||
| ) | [virtual] |
Must be used with SYSTEM_ID policy.
Implements TAO_Id_Assignment_Strategy.
Definition at line 934 of file Active_Object_Map.cpp.
{
ACE_NEW_RETURN (entry,
TAO_Active_Object_Map_Entry,
-1);
int result =
this->active_object_map_->user_id_map_->bind_create_key (entry,
entry->user_id_);
if (result == 0)
{
entry->servant_ = servant;
entry->priority_ = priority;
result = this->active_object_map_->id_hint_strategy_->bind (*entry);
if (result != 0)
{
this->active_object_map_->user_id_map_->unbind (entry->user_id_);
delete entry;
}
#if defined (TAO_HAS_MONITOR_POINTS) && (TAO_HAS_MONITOR_POINTS == 1)
this->active_object_map_->monitor_->receive (
this->active_object_map_->user_id_map_->current_size ());
#endif /* TAO_HAS_MONITOR_POINTS==1 */
}
else
{
delete entry;
}
return result;
}
1.7.0