diff options
Diffstat (limited to 'cpp/src/Ice/ObjectAdapterI.cpp')
-rw-r--r-- | cpp/src/Ice/ObjectAdapterI.cpp | 13 |
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__); + } } } |