#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 } |