#include <Active_Object_Map.h>
Inheritance diagram for TAO_System_Id_With_Multiple_Id_Strategy:
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. |
Strategy for the SYSTEM_ID policy (with MULTIPLE_ID policy).
Definition at line 511 of file Active_Object_Map.h.
|
Must be used with SYSTEM_ID policy.
Implements TAO_Id_Assignment_Strategy. Definition at line 784 of file Active_Object_Map.cpp. References ACE_NEW_RETURN, TAO_Id_Hint_Strategy::bind(), TAO_Active_Object_Map::id_hint_strategy_, TAO_Active_Object_Map_Entry::priority_, TAO_Active_Object_Map_Entry::servant_, TAO_Active_Object_Map_Entry::user_id_, and TAO_Active_Object_Map::user_id_map_.
00787 { 00788 ACE_NEW_RETURN (entry, 00789 TAO_Active_Object_Map_Entry, 00790 -1); 00791 int result = this->active_object_map_->user_id_map_->bind_create_key (entry, 00792 entry->user_id_); 00793 if (result == 0) 00794 { 00795 entry->servant_ = servant; 00796 entry->priority_ = priority; 00797 00798 result = this->active_object_map_->id_hint_strategy_->bind (*entry); 00799 00800 if (result != 0) 00801 { 00802 this->active_object_map_->user_id_map_->unbind (entry->user_id_); 00803 delete entry; 00804 } 00805 } 00806 else 00807 delete entry; 00808 00809 return result; 00810 } |