#include <Active_Object_Map.h>
Inheritance diagram for TAO_Transient_Strategy:
Public Member Functions | |
virtual 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. |
Strategy for the TRANSIENT policy.
Definition at line 411 of file Active_Object_Map.h.
|
Can be used with any policy.
Implements TAO_Lifespan_Strategy. Definition at line 640 of file Active_Object_Map.cpp. References TAO_Active_Object_Map_Entry::deactivated_, TAO_Id_Hint_Strategy::find(), TAO_Active_Object_Map::id_hint_strategy_, TAO_Active_Object_Map_Entry::servant_, and TAO_Active_Object_Map::user_id_map_.
00644 { 00645 int result = this->active_object_map_->id_hint_strategy_->find (system_id, 00646 entry); 00647 if (result == 0) 00648 { 00649 if (entry->deactivated_) 00650 result = -1; 00651 else if (entry->servant_ == 0) 00652 result = -1; 00653 else 00654 servant = entry->servant_; 00655 } 00656 else 00657 { 00658 result = this->active_object_map_->user_id_map_->find (user_id, 00659 entry); 00660 if (result == 0) 00661 { 00662 if (entry->deactivated_) 00663 result = -1; 00664 else if (entry->servant_ == 0) 00665 result = -1; 00666 else 00667 servant = entry->servant_; 00668 } 00669 } 00670 00671 if (result == -1) 00672 entry = 0; 00673 00674 return result; 00675 } |