summaryrefslogtreecommitdiff
path: root/cpp/src/IcePack/AdminI.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2001-08-25 01:37:09 +0000
committerMarc Laukien <marc@zeroc.com>2001-08-25 01:37:09 +0000
commita60f5311d60553dea75bffa5d3b38ec6b6eeee35 (patch)
treea4bbaa39b50f85a15b59b1a802a21a2c08a3d487 /cpp/src/IcePack/AdminI.cpp
parentThreadPool fixes; Win fixes (diff)
downloadice-a60f5311d60553dea75bffa5d3b38ec6b6eeee35.tar.bz2
ice-a60f5311d60553dea75bffa5d3b38ec6b6eeee35.tar.xz
ice-a60f5311d60553dea75bffa5d3b38ec6b6eeee35.zip
fixes
Diffstat (limited to 'cpp/src/IcePack/AdminI.cpp')
-rw-r--r--cpp/src/IcePack/AdminI.cpp27
1 files changed, 8 insertions, 19 deletions
diff --git a/cpp/src/IcePack/AdminI.cpp b/cpp/src/IcePack/AdminI.cpp
index b2c56c11bce..4a09e24b281 100644
--- a/cpp/src/IcePack/AdminI.cpp
+++ b/cpp/src/IcePack/AdminI.cpp
@@ -27,37 +27,26 @@ IcePack::AdminI::add(const ServerDescriptionPtr& p)
if (p && p->object)
{
- _map[p->object] = p;
+ _map[p->object->_getIdentity()] = p;
}
}
void
-IcePack::AdminI::remove(const ObjectPrx& p)
+IcePack::AdminI::remove(const string& identity)
{
JTCSyncT<JTCMutex> sync(*this);
-
- if (p)
- {
- _map.erase(p);
- }
+ _map.erase(identity);
}
ServerDescriptionPtr
-IcePack::AdminI::find(const ObjectPrx& p)
+IcePack::AdminI::find(const string& identity)
{
JTCSyncT<JTCMutex> sync(*this);
- if (p)
+ map<string, ServerDescriptionPtr>::iterator p = _map.find(identity);
+ if (p != _map.end())
{
- map<ObjectPrx, ServerDescriptionPtr>::iterator q = _map.find(p);
- if (q != _map.end())
- {
- return q->second;
- }
- else
- {
- return 0;
- }
+ return p->second;
}
else
{
@@ -70,7 +59,7 @@ IcePack::AdminI::getAll()
{
ServerDescriptions result;
result.reserve(_map.size());
- for (map<ObjectPrx, ServerDescriptionPtr>::iterator p = _map.begin(); p != _map.end(); ++p)
+ for (map<string, ServerDescriptionPtr>::iterator p = _map.begin(); p != _map.end(); ++p)
{
result.push_back(p->second);
}