diff options
Diffstat (limited to 'cpp/src')
-rwxr-xr-x | cpp/src/Glacier2/FilterI.h | 4 | ||||
-rw-r--r-- | cpp/src/Glacier2/RouterI.cpp | 39 | ||||
-rw-r--r-- | cpp/src/Glacier2/RouterI.h | 4 | ||||
-rw-r--r-- | cpp/src/Glacier2/SessionRouterI.cpp | 2 |
4 files changed, 26 insertions, 23 deletions
diff --git a/cpp/src/Glacier2/FilterI.h b/cpp/src/Glacier2/FilterI.h index 8c2d4c1dc78..3a9aac2840a 100755 --- a/cpp/src/Glacier2/FilterI.h +++ b/cpp/src/Glacier2/FilterI.h @@ -283,8 +283,8 @@ FilterT<T, P>::setAcceptOverride(bool value, const Ice::Current&) _acceptOverride = value; } -typedef FilterT<Ice::Identity, Glacier2::IdFilter> IdentityFilterI; -typedef IceUtil::Handle< FilterT<Ice::Identity, Glacier2::IdFilter> > IdentityFilterIPtr; +typedef FilterT<Ice::Identity, Glacier2::IdentityFilter> IdentityFilterI; +typedef IceUtil::Handle< FilterT<Ice::Identity, Glacier2::IdentityFilter> > IdentityFilterIPtr; typedef FilterT<std::string, Glacier2::StringFilter> StringFilterI; typedef IceUtil::Handle< FilterT<std::string, Glacier2::StringFilter> > StringFilterIPtr; diff --git a/cpp/src/Glacier2/RouterI.cpp b/cpp/src/Glacier2/RouterI.cpp index 6b5271724bf..a03f3d5664d 100644 --- a/cpp/src/Glacier2/RouterI.cpp +++ b/cpp/src/Glacier2/RouterI.cpp @@ -109,8 +109,8 @@ Glacier2::RouterI::RouterI(const ObjectAdapterPtr& clientAdapter, const ObjectAd StringFilterPrx::uncheckedCast(_adminAdapter->addWithUUID(categoryFilter)); const_cast<StringFilterPrx&>(_adapterIdFilter) = StringFilterPrx::uncheckedCast(_adminAdapter->addWithUUID(adapterIdFilter)); - const_cast<IdFilterPrx&>(_objectIdFilter) = - IdFilterPrx::uncheckedCast(_adminAdapter->addWithUUID(objectIdFilter)); + const_cast<IdentityFilterPrx&>(_objectIdFilter) = + IdentityFilterPrx::uncheckedCast(_adminAdapter->addWithUUID(objectIdFilter)); } try @@ -140,27 +140,30 @@ Glacier2::RouterI::RouterI(const ObjectAdapterPtr& clientAdapter, const ObjectAd } catch(...) { - // - // Remove filters from adapter in the event of an exception. - // - try + if(_adminAdapter) { - if(_categoryFilter) + // + // Remove filters from adapter in the event of an exception. + // + try { - _adminAdapter->remove(_categoryFilter->ice_getIdentity()); + if(_categoryFilter) + { + _adminAdapter->remove(_categoryFilter->ice_getIdentity()); + } + if(_objectIdFilter) + { + _adminAdapter->remove(_objectIdFilter->ice_getIdentity()); + } + if(_adapterIdFilter) + { + _adminAdapter->remove(_adapterIdFilter->ice_getIdentity()); + } } - if(_objectIdFilter) - { - _adminAdapter->remove(_objectIdFilter->ice_getIdentity()); - } - if(_adapterIdFilter) + catch(const NotRegisteredException&) { - _adminAdapter->remove(_adapterIdFilter->ice_getIdentity()); } } - catch(const NotRegisteredException&) - { - } throw; } } @@ -313,7 +316,7 @@ Glacier2::RouterI::getAdapterIdFilter() const return _adapterIdFilter; } -IdFilterPrx +IdentityFilterPrx Glacier2::RouterI::getObjectIdFilter() const { assert(_adminAdapter); diff --git a/cpp/src/Glacier2/RouterI.h b/cpp/src/Glacier2/RouterI.h index 15327641606..575ac878e8a 100644 --- a/cpp/src/Glacier2/RouterI.h +++ b/cpp/src/Glacier2/RouterI.h @@ -45,7 +45,7 @@ public: ServerBlobjectPtr getServerBlobject() const; StringFilterPrx getCategoryFilter() const; StringFilterPrx getAdapterIdFilter() const; - IdFilterPrx getObjectIdFilter() const; + IdentityFilterPrx getObjectIdFilter() const; SessionPrx getSession() const; @@ -61,7 +61,7 @@ private: const Ice::ObjectPrx _serverProxy; const StringFilterPrx _categoryFilter; const StringFilterPrx _adapterIdFilter; - const IdFilterPrx _objectIdFilter; + const IdentityFilterPrx _objectIdFilter; const ClientBlobjectPtr _clientBlobject; const ServerBlobjectPtr _serverBlobject; const Ice::ObjectAdapterPtr _adminAdapter; diff --git a/cpp/src/Glacier2/SessionRouterI.cpp b/cpp/src/Glacier2/SessionRouterI.cpp index 26b105fa043..f9249868589 100644 --- a/cpp/src/Glacier2/SessionRouterI.cpp +++ b/cpp/src/Glacier2/SessionRouterI.cpp @@ -50,7 +50,7 @@ public: stringToIdentity("dummy"))->getAdapterIdFilter(); } - virtual IdFilterPrx + virtual IdentityFilterPrx objectIdFilter(const Current& current) { return _sessionRouter->getRouter(_connection, current.adapter->getCommunicator()-> |