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


Public Member Functions | |
| virtual int | is_servant_in_map (PortableServer::Servant servant, bool &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 338 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 535 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_.
00539 {
00540 int result = this->active_object_map_->user_id_map_->find (user_id, entry);
00541 if (result == 0)
00542 {
00543 if (servant != 0)
00544 entry->servant_ = servant;
00545 }
00546 else
00547 {
00548 ACE_NEW_RETURN (entry,
00549 TAO_Active_Object_Map_Entry,
00550 -1);
00551 entry->user_id_ = user_id;
00552 entry->servant_ = servant;
00553 entry->priority_ = priority;
00554
00555 result =
00556 this->active_object_map_->id_hint_strategy_->bind (*entry);
00557
00558 if (result == 0)
00559 {
00560 result = this->active_object_map_->user_id_map_->bind (entry->user_id_,
00561 entry);
00562 if (result != 0)
00563 {
00564 this->active_object_map_->id_hint_strategy_->unbind (*entry);
00565 delete entry;
00566 }
00567 }
00568 else
00569 delete entry;
00570 }
00571
00572 return result;
00573 }
|
|
||||||||||||||||
|
Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy, is actually . Implements TAO_Id_Uniqueness_Strategy. Definition at line 600 of file Active_Object_Map.cpp.
00603 {
00604 return -1;
00605 }
|
|
||||||||||||
|
Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy, is actually . Implements TAO_Id_Uniqueness_Strategy. Definition at line 593 of file Active_Object_Map.cpp.
00595 {
00596 return -1;
00597 }
|
|
||||||||||||
|
Must be used with UNIQUE_ID policy.
Implements TAO_Id_Uniqueness_Strategy. Definition at line 529 of file Active_Object_Map.cpp.
00530 {
00531 return -1;
00532 }
|
|
|
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 608 of file Active_Object_Map.cpp. References TAO_Active_Object_Map_Entry::servant_, and TAO_Active_Object_Map::user_id_map_.
00609 {
00610 TAO_Active_Object_Map::user_id_map::iterator end
00611 = this->active_object_map_->user_id_map_->end ();
00612
00613 for (TAO_Active_Object_Map::user_id_map::iterator iter
00614 = this->active_object_map_->user_id_map_->begin ();
00615 iter != end;
00616 ++iter)
00617 {
00618 TAO_Active_Object_Map::user_id_map::value_type map_pair = *iter;
00619 TAO_Active_Object_Map_Entry *entry = map_pair.second ();
00620
00621 if (entry->servant_ == servant)
00622 return 1;
00623 }
00624
00625 return 0;
00626 }
|
|
|
Can be used with any policy. With the SYSTEM_ID policy, is actually . Implements TAO_Id_Uniqueness_Strategy. Definition at line 576 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_.
00577 {
00578 TAO_Active_Object_Map_Entry *entry = 0;
00579 int result = this->active_object_map_->user_id_map_->unbind (user_id,
00580 entry);
00581 if (result == 0)
00582 {
00583 result = this->active_object_map_->id_hint_strategy_->unbind (*entry);
00584
00585 if (result == 0)
00586 delete entry;
00587 }
00588
00589 return result;
00590 }
|
1.3.6