summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp180
1 files changed, 0 insertions, 180 deletions
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp
deleted file mode 100644
index 73745a4460b..00000000000
--- a/TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-// $Id$
-
-#include "orbsvcs/PortableGroup/Portable_Group_Map.h"
-#include "tao/ORB_Core.h"
-#include "tao/TAO_Server_Request.h"
-#include "tao/CDR.h"
-
-ACE_RCSID (PortableGroup,
- Portable_Group_Map,
- "$Id$")
-
-TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-
-/// Constructor.
-TAO_Portable_Group_Map::TAO_Portable_Group_Map ()
-{
-}
-
-/// Destructor.
-TAO_Portable_Group_Map::~TAO_Portable_Group_Map (void)
-{
- for (Iterator i = this->map_.begin ();
- i != this->map_.end ();
- ++i)
- {
- // Deallocate the id.
- delete (*i).ext_id_;
-
- // Delete the chain of Map_Entries.
- Map_Entry *entry = (*i).int_id_;
- while (entry)
- {
- Map_Entry *next = entry->next;
- delete entry;
- entry = next;
- }
-
- }
-
- this->map_.close ();
-}
-
-
-void
-TAO_Portable_Group_Map::add_groupid_objectkey_pair (
- PortableGroup::TagGroupTaggedComponent *group_id,
- const TAO::ObjectKey &key
- ACE_ENV_ARG_DECL
- )
-{
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
- this->lock_);
-
- Map_Entry *new_entry;
-
- // We take ownership of the group_id memory. Be sure we don't
- // forget about it.
- PortableGroup::TagGroupTaggedComponent_var safe_group = group_id;
-
- ACE_NEW_THROW_EX (new_entry,
- Map_Entry (),
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO::VMCID,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK;
-
- // Fill out the entry.
- new_entry->key = key;
-
- // First, check if the GroupId is already in the map.
- Map_Entry *entry;
- if (this->map_.find (group_id,
- entry) == 0)
- {
- // Add the object key to the list of object keys serviced by this GroupId.
- new_entry->next = entry->next;
- entry->next = new_entry;
- }
- else
- {
- new_entry->next = 0;
-
- // Add the
- int result =
- this->map_.bind (group_id,
- new_entry);
-
- if (result != 0)
- {
- delete new_entry;
- ACE_THROW (CORBA::INTERNAL ());
- }
-
- // Transfer ownership of group_id to the map.
- (void) safe_group._retn ();
- }
-}
-
-void
-TAO_Portable_Group_Map::remove_groupid_objectkey_pair (const PortableGroup::TagGroupTaggedComponent* /*group_id*/,
- const TAO::ObjectKey &/*key*/
- ACE_ENV_ARG_DECL_NOT_USED)
-{
-
-}
-
-
-void
-TAO_Portable_Group_Map::dispatch (PortableGroup::TagGroupTaggedComponent* group_id,
- TAO_ORB_Core *orb_core,
- TAO_ServerRequest &request,
- CORBA::Object_out forward_to
- ACE_ENV_ARG_DECL)
-{
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
- this->lock_);
-
- // Look up the GroupId.
- Map_Entry *entry = 0;
- if (this->map_.find (group_id,
- entry) == 0)
- {
-
- // Save the read pointer in the message block since
- // every time we dispatch the request, we need to
- // reset it so that the request demarshals correctly.
- TAO_InputCDR *tao_in = request.incoming ();
- ACE_Message_Block *msgblk =
- const_cast<ACE_Message_Block *> (tao_in->start ());
- char *read_ptr = msgblk->rd_ptr ();
-
- // Iterate through the list of ObjectKeys.
- while (entry)
- {
- orb_core->adapter_registry ()->dispatch (entry->key,
- request,
- forward_to
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // Reset the read pointer in the message block.
- msgblk->rd_ptr (read_ptr);
- entry = entry->next;
- }
- }
-}
-
-u_long
-TAO_GroupId_Hash::operator () (const PortableGroup::TagGroupTaggedComponent *id) const
-{
- u_long hash =
- ACE::hash_pjw ((const char *) id->group_domain_id,
- ACE_OS::strlen ((const char *) id->group_domain_id));
-
- // Truncate the object_group_id in half for the has.
- // Divide by one so that the ACE_U_LongLong representation
- // will automatically cast down to a u_long
- hash += (u_long) (id->object_group_id / 1);
-
- hash += id->object_group_ref_version;
-
- return hash;
-}
-
-int
-TAO_GroupId_Equal_To::operator () (
- const PortableGroup::TagGroupTaggedComponent *lhs,
- const PortableGroup::TagGroupTaggedComponent *rhs) const
-{
- return
- ACE_OS::strcmp (lhs->group_domain_id, rhs->group_domain_id) == 0
- && lhs->object_group_id == rhs->object_group_id
- && lhs->object_group_ref_version == rhs->object_group_ref_version;
-}
-
-TAO_END_VERSIONED_NAMESPACE_DECL