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; }