#include <Active_Object_Map.h>
Inheritance diagram for TAO_Multiple_Id_Strategy:


Public Member Functions | |
| virtual int | is_servant_in_map (PortableServer::Servant servant, int &deactivated) |
| Must be used with UNIQUE_ID policy. | |
| virtual int | unbind_using_user_id (const PortableServer::ObjectId &user_id) |
| virtual int | find_user_id_using_servant (PortableServer::Servant servant, PortableServer::ObjectId_out user_id) |
| virtual int | find_system_id_using_servant (PortableServer::Servant servant, PortableServer::ObjectId_out system_id, CORBA::Short &priority) |
| virtual int | bind_using_user_id (PortableServer::Servant servant, const PortableServer::ObjectId &user_id, CORBA::Short priority, TAO_Active_Object_Map_Entry *&entry) |
| virtual CORBA::Boolean | remaining_activations (PortableServer::Servant servant) |
Strategy for the MULTIPLE_ID policy.
Definition at line 339 of file Active_Object_Map.h.
|
||||||||||||||||||||
|
Can be used with any policy. With the SYSTEM_ID policy, is actually . Implements TAO_Id_Uniqueness_Strategy. Definition at line 537 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_Id_Hint_Strategy::unbind(), TAO_Active_Object_Map_Entry::user_id_, and TAO_Active_Object_Map::user_id_map_.
00541 {
00542 int result = this->active_object_map_->user_id_map_->find (user_id,
00543 entry);
00544 if (result == 0)
00545 {
00546 if (servant != 0)
00547 entry->servant_ = servant;
00548 }
00549 else
00550 {
00551 ACE_NEW_RETURN (entry,
00552 TAO_Active_Object_Map_Entry,
00553 -1);
00554 entry->user_id_ = user_id;
00555 entry->servant_ = servant;
00556 entry->priority_ = priority;
00557
00558 result =
00559 this->active_object_map_->id_hint_strategy_->bind (*entry);
00560
00561 if (result == 0)
00562 {
00563 result = this->active_object_map_->user_id_map_->bind (entry->user_id_,
00564 entry);
00565 if (result != 0)
00566 {
00567 this->active_object_map_->id_hint_strategy_->unbind (*entry);
00568 delete entry;
00569 }
00570 }
00571 else
00572 delete entry;
00573 }
00574
00575 return result;
00576 }
|
|
||||||||||||||||
|
Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy, is actually . Implements TAO_Id_Uniqueness_Strategy. Definition at line 606 of file Active_Object_Map.cpp.
00609 {
00610 return -1;
00611 }
|
|
||||||||||||
|
Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy, is actually . Implements TAO_Id_Uniqueness_Strategy. Definition at line 596 of file Active_Object_Map.cpp.
00598 {
00599 ACE_UNUSED_ARG (servant);
00600 ACE_UNUSED_ARG (user_id);
00601
00602 return -1;
00603 }
|
|
||||||||||||
|
Must be used with UNIQUE_ID policy.
Implements TAO_Id_Uniqueness_Strategy. Definition at line 530 of file Active_Object_Map.cpp.
00532 {
00533 return -1;
00534 }
|
|
|
Are there any remaining activations of in the active object map? Can be used with any policy. Implements TAO_Id_Uniqueness_Strategy. Definition at line 614 of file Active_Object_Map.cpp. References TAO_Active_Object_Map_Entry::servant_, and TAO_Active_Object_Map::user_id_map_.
00615 {
00616 TAO_Active_Object_Map::user_id_map::iterator end
00617 = this->active_object_map_->user_id_map_->end ();
00618
00619 for (TAO_Active_Object_Map::user_id_map::iterator iter
00620 = this->active_object_map_->user_id_map_->begin ();
00621 iter != end;
00622 ++iter)
00623 {
00624 TAO_Active_Object_Map::user_id_map::value_type map_pair = *iter;
00625 TAO_Active_Object_Map_Entry *entry = map_pair.second ();
00626
00627 if (entry->servant_ == servant)
00628 return 1;
00629 }
00630
00631 return 0;
00632 }
|
|
|
Can be used with any policy. With the SYSTEM_ID policy, is actually . Implements TAO_Id_Uniqueness_Strategy. Definition at line 579 of file Active_Object_Map.cpp. References TAO_Active_Object_Map::id_hint_strategy_, TAO_Id_Hint_Strategy::unbind(), and TAO_Active_Object_Map::user_id_map_.
00580 {
00581 TAO_Active_Object_Map_Entry *entry = 0;
00582 int result = this->active_object_map_->user_id_map_->unbind (user_id,
00583 entry);
00584 if (result == 0)
00585 {
00586 result = this->active_object_map_->id_hint_strategy_->unbind (*entry);
00587
00588 if (result == 0)
00589 delete entry;
00590 }
00591
00592 return result;
00593 }
|
1.3.6