summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ObjectAdapterI.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2002-09-04 19:23:32 +0000
committerBenoit Foucher <benoit@zeroc.com>2002-09-04 19:23:32 +0000
commitbdeb0007e50f676bf416ca25c493c888548ea7cd (patch)
treef7f25ecd302b273e31d80a420e5667b40900a267 /cpp/src/Ice/ObjectAdapterI.cpp
parentTemporary fix to use binary freeze db (diff)
downloadice-bdeb0007e50f676bf416ca25c493c888548ea7cd.tar.bz2
ice-bdeb0007e50f676bf416ca25c493c888548ea7cd.tar.xz
ice-bdeb0007e50f676bf416ca25c493c888548ea7cd.zip
Added local exceptions ObjectAdapterActiveException and
ObjectAdapterNotRegisteredException. :LocatoRegistry::addAdapter method to setAdapterDirectProxy. Minor IcePack fixes.
Diffstat (limited to 'cpp/src/Ice/ObjectAdapterI.cpp')
-rw-r--r--cpp/src/Ice/ObjectAdapterI.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp
index 932fdb037cb..0089e105b31 100644
--- a/cpp/src/Ice/ObjectAdapterI.cpp
+++ b/cpp/src/Ice/ObjectAdapterI.cpp
@@ -78,7 +78,18 @@ Ice::ObjectAdapterI::activate()
// activate operation instead of a non obvious network
// exception?
//
- _locatorInfo->getLocatorRegistry()->addAdapter(_name, newDirectProxy(ident));
+ try
+ {
+ _locatorInfo->getLocatorRegistry()->setAdapterDirectProxy(_name, newDirectProxy(ident));
+ }
+ catch(const Ice::AdapterNotRegistered&)
+ {
+ throw ObjectAdapterNotRegisteredException(__FILE__, __LINE__);
+ }
+ catch(const Ice::AdapterAlreadyActive&)
+ {
+ throw ObjectAdapterActiveException(__FILE__, __LINE__);
+ }
}
}