#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 428 of file Active_Object_Map.h.
|
||||||||||||||||||||
|
Can be used with any policy.
Implements TAO_Lifespan_Strategy. Definition at line 685 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_.
00689 {
00690 int result = this->active_object_map_->id_hint_strategy_->find (system_id,
00691 entry);
00692 if (result == 0 &&
00693 user_id == entry->user_id_)
00694 {
00695 if (entry->deactivated_)
00696 result = -1;
00697 else if (entry->servant_ == 0)
00698 result = -1;
00699 else
00700 servant = entry->servant_;
00701 }
00702 else
00703 {
00704 result = this->active_object_map_->user_id_map_->find (user_id,
00705 entry);
00706 if (result == 0)
00707 {
00708 if (entry->deactivated_)
00709 result = -1;
00710 else if (entry->servant_ == 0)
00711 result = -1;
00712 else
00713 servant = entry->servant_;
00714 }
00715 }
00716
00717 if (result == -1)
00718 entry = 0;
00719
00720 return result;
00721 }
|
1.3.6