From d0882b6da4887c83e51867dfa8c2f5e9543f0a5d Mon Sep 17 00:00:00 2001 From: Marc Laukien Date: Fri, 9 Apr 2004 17:00:52 +0000 Subject: fix --- cpp/src/Ice/ObjectFactoryManager.cpp | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'cpp/src/Ice/ObjectFactoryManager.cpp') diff --git a/cpp/src/Ice/ObjectFactoryManager.cpp b/cpp/src/Ice/ObjectFactoryManager.cpp index 75b6381d96d..e9fb54c2293 100644 --- a/cpp/src/Ice/ObjectFactoryManager.cpp +++ b/cpp/src/Ice/ObjectFactoryManager.cpp @@ -21,8 +21,6 @@ using namespace std; using namespace Ice; using namespace IceInternal; -const char * const IceInternal::ObjectFactoryManager::_kindOfObject = "object factory"; - void IceInternal::incRef(ObjectFactoryManager* p) { p->__incRef(); } void IceInternal::decRef(ObjectFactoryManager* p) { p->__decRef(); } @@ -35,7 +33,7 @@ IceInternal::ObjectFactoryManager::add(const ObjectFactoryPtr& factory, const st || _factoryMap.find(id) != _factoryMap.end()) { AlreadyRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = _kindOfObject; + ex.kindOfObject = "object factory"; ex.id = id; throw ex; } @@ -48,8 +46,7 @@ IceInternal::ObjectFactoryManager::remove(const string& id) { IceUtil::Mutex::Lock sync(*this); - map::iterator p = _factoryMap.end(); - + map::iterator p = _factoryMap.end(); if(_factoryMapHint != _factoryMap.end()) { if(_factoryMapHint->first == id) @@ -64,7 +61,7 @@ IceInternal::ObjectFactoryManager::remove(const string& id) if(p == _factoryMap.end()) { NotRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = _kindOfObject; + ex.kindOfObject = "object factory"; ex.id = id; throw ex; } @@ -85,12 +82,11 @@ IceInternal::ObjectFactoryManager::remove(const string& id) } ObjectFactoryPtr -IceInternal::ObjectFactoryManager::find(const string& id) +IceInternal::ObjectFactoryManager::find(const string& id) const { IceUtil::Mutex::Lock sync(*this); - map::iterator p = _factoryMap.end(); - + map::iterator p = const_cast&>(_factoryMap).end(); if(_factoryMapHint != _factoryMap.end()) { if(_factoryMapHint->first == id) @@ -101,7 +97,7 @@ IceInternal::ObjectFactoryManager::find(const string& id) if(p == _factoryMap.end()) { - p = _factoryMap.find(id); + p = const_cast&>(_factoryMap).find(id); } if(p != _factoryMap.end()) @@ -124,6 +120,7 @@ void IceInternal::ObjectFactoryManager::destroy() { IceUtil::Mutex::Lock sync(*this); + for_each(_factoryMap.begin(), _factoryMap.end(), Ice::secondVoidMemFun(&ObjectFactory::destroy)); _factoryMap.clear(); -- cgit v1.2.3