summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ObjectFactoryManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/ObjectFactoryManager.cpp')
-rw-r--r--cpp/src/Ice/ObjectFactoryManager.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/cpp/src/Ice/ObjectFactoryManager.cpp b/cpp/src/Ice/ObjectFactoryManager.cpp
index 2627bd29196..4f9c11bc695 100644
--- a/cpp/src/Ice/ObjectFactoryManager.cpp
+++ b/cpp/src/Ice/ObjectFactoryManager.cpp
@@ -12,6 +12,7 @@
#include <Ice/ObjectFactory.h>
#include <Ice/Functional.h>
#include <Ice/LocalException.h>
+#include <Ice/BasicStream.h>
using namespace std;
using namespace Ice;
@@ -42,7 +43,7 @@ IceInternal::ObjectFactoryManager::remove(const string& id)
ObjectFactoryPtr factory = 0;
{
IceUtil::Mutex::Lock sync(*this);
-
+
FactoryMap::iterator p = _factoryMap.end();
if(_factoryMapHint != _factoryMap.end())
{
@@ -51,7 +52,7 @@ IceInternal::ObjectFactoryManager::remove(const string& id)
p = _factoryMapHint;
}
}
-
+
if(p == _factoryMap.end())
{
p = _factoryMap.find(id);
@@ -64,9 +65,9 @@ IceInternal::ObjectFactoryManager::remove(const string& id)
}
}
assert(p != _factoryMap.end());
-
+
factory = p->second;
-
+
if(p == _factoryMapHint)
{
_factoryMap.erase(p++);
@@ -77,7 +78,7 @@ IceInternal::ObjectFactoryManager::remove(const string& id)
_factoryMap.erase(p);
}
}
-
+
//
// Destroy outside the lock
//
@@ -89,7 +90,7 @@ ObjectFactoryPtr
IceInternal::ObjectFactoryManager::find(const string& id) const
{
IceUtil::Mutex::Lock sync(*this);
-
+
FactoryMap& factoryMap = const_cast<FactoryMap&>(_factoryMap);
FactoryMap::iterator p = factoryMap.end();
@@ -100,12 +101,12 @@ IceInternal::ObjectFactoryManager::find(const string& id) const
p = _factoryMapHint;
}
}
-
+
if(p == factoryMap.end())
{
p = factoryMap.find(id);
}
-
+
if(p != factoryMap.end())
{
_factoryMapHint = p;