diff options
Diffstat (limited to 'cpp/src/IcePack/AdminI.cpp')
-rw-r--r-- | cpp/src/IcePack/AdminI.cpp | 19 |
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(); +} |