#include <Active_Object_Map.h>
Inheritance diagram for TAO_Persistent_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 PERSISTENT policy.
Definition at line 429 of file Active_Object_Map.h.
|
Can be used with any policy.
Implements TAO_Lifespan_Strategy. Definition at line 681 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_, TAO_Active_Object_Map_Entry::user_id_, and TAO_Active_Object_Map::user_id_map_.
00685 { 00686 int result = this->active_object_map_->id_hint_strategy_->find (system_id, 00687 entry); 00688 if (result == 0 && 00689 user_id == entry->user_id_) 00690 { 00691 if (entry->deactivated_) 00692 result = -1; 00693 else if (entry->servant_ == 0) 00694 result = -1; 00695 else 00696 servant = entry->servant_; 00697 } 00698 else 00699 { 00700 result = this->active_object_map_->user_id_map_->find (user_id, entry); 00701 if (result == 0) 00702 { 00703 if (entry->deactivated_) 00704 result = -1; 00705 else if (entry->servant_ == 0) 00706 result = -1; 00707 else 00708 servant = entry->servant_; 00709 } 00710 } 00711 00712 if (result == -1) 00713 entry = 0; 00714 00715 return result; 00716 } |