summaryrefslogtreecommitdiff
path: root/cpp/src/IcePack/AdminI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IcePack/AdminI.cpp')
-rw-r--r--cpp/src/IcePack/AdminI.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/cpp/src/IcePack/AdminI.cpp b/cpp/src/IcePack/AdminI.cpp
index 663cccd106b..9315d441c70 100644
--- a/cpp/src/IcePack/AdminI.cpp
+++ b/cpp/src/IcePack/AdminI.cpp
@@ -15,7 +15,8 @@ using namespace std;
using namespace Ice;
using namespace IcePack;
-AdminI::AdminI()
+AdminI::AdminI(const CommunicatorPtr& communicator) :
+ _communicator(communicator)
{
}
@@ -48,10 +49,24 @@ AdminI::find(const ObjectPrx& p)
if (p)
{
- return _map.find(p)->second;
+ map<ObjectPrx, ServerDescriptionPtr>::iterator q = _map.find(p);
+ if (q != _map.end())
+ {
+ return q->second;
+ }
+ else
+ {
+ return 0;
+ }
}
else
{
return 0;
}
}
+
+void
+AdminI::shutdown()
+{
+ _communicator->shutdown();
+}