summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/UserExceptionFactoryManager.cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2003-05-08 07:25:27 +0000
committerMichi Henning <michi@zeroc.com>2003-05-08 07:25:27 +0000
commitea8bdaa909604d74cca0a50d9256958476059bb1 (patch)
tree9f07b5371224a14df6fe868c545567af4f82d24a /cpp/src/Ice/UserExceptionFactoryManager.cpp
parentFixed incorrect scope for passing function pointer for __patch__ObjectPtr. (diff)
downloadice-ea8bdaa909604d74cca0a50d9256958476059bb1.tar.bz2
ice-ea8bdaa909604d74cca0a50d9256958476059bb1.tar.xz
ice-ea8bdaa909604d74cca0a50d9256958476059bb1.zip
Slicing updates for Windows port.
Diffstat (limited to 'cpp/src/Ice/UserExceptionFactoryManager.cpp')
-rw-r--r--cpp/src/Ice/UserExceptionFactoryManager.cpp107
1 files changed, 0 insertions, 107 deletions
diff --git a/cpp/src/Ice/UserExceptionFactoryManager.cpp b/cpp/src/Ice/UserExceptionFactoryManager.cpp
deleted file mode 100644
index c23a485a3d9..00000000000
--- a/cpp/src/Ice/UserExceptionFactoryManager.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003
-// ZeroC, Inc.
-// Billerica, MA, USA
-//
-// All Rights Reserved.
-//
-// Ice is free software; you can redistribute it and/or modify it under
-// the terms of the GNU General Public License version 2 as published by
-// the Free Software Foundation.
-//
-// **********************************************************************
-
-#include <Ice/UserExceptionFactoryManager.h>
-#include <Ice/UserExceptionFactory.h>
-#include <Ice/Functional.h>
-#include <Ice/LocalException.h>
-
-using namespace std;
-using namespace Ice;
-using namespace IceInternal;
-
-void IceInternal::incRef(UserExceptionFactoryManager* p) { p->__incRef(); }
-void IceInternal::decRef(UserExceptionFactoryManager* p) { p->__decRef(); }
-
-void
-IceInternal::UserExceptionFactoryManager::add(const UserExceptionFactoryPtr& factory, const string& id)
-{
- IceUtil::Mutex::Lock sync(*this);
-
- if(_factoryMap.find(id) != _factoryMap.end())
- {
- AlreadyRegisteredException ex(__FILE__, __LINE__);
- ex.kindOfObject = "user exception factory";
- ex.id = id;
- throw ex;
- }
-
- _factoryMapHint = _factoryMap.insert(_factoryMapHint, pair<const string, UserExceptionFactoryPtr>(id, factory));
-}
-
-void
-IceInternal::UserExceptionFactoryManager::remove(const string& id)
-{
- UserExceptionFactoryPtr factory;
-
- {
- IceUtil::Mutex::Lock sync(*this);
-
- map<string, UserExceptionFactoryPtr>::iterator p = _factoryMap.find(id);
- if(p == _factoryMap.end())
- {
- NotRegisteredException ex(__FILE__, __LINE__);
- ex.kindOfObject = "user exception factory";
- ex.id = id;
- throw ex;
- }
-
- factory = p->second;
-
- _factoryMap.erase(p);
- _factoryMapHint = _factoryMap.end();
- }
-
- factory->destroy();
-}
-
-UserExceptionFactoryPtr
-IceInternal::UserExceptionFactoryManager::find(const string& id)
-{
- IceUtil::Mutex::Lock sync(*this);
-
- if(_factoryMapHint != _factoryMap.end())
- {
- if(_factoryMapHint->first == id)
- {
- return _factoryMapHint->second;
- }
- }
-
- map<string, UserExceptionFactoryPtr>::iterator p = _factoryMap.find(id);
- if(p != _factoryMap.end())
- {
- _factoryMapHint = p;
- return p->second;
- }
- else
- {
- return 0;
- }
-}
-
-IceInternal::UserExceptionFactoryManager::UserExceptionFactoryManager() :
- _factoryMapHint(_factoryMap.end())
-{
-}
-
-void
-IceInternal::UserExceptionFactoryManager::destroy()
-{
- IceUtil::Mutex::Lock sync(*this);
- for_each(_factoryMap.begin(), _factoryMap.end(),
- Ice::secondVoidMemFun<const string, UserExceptionFactory>(&UserExceptionFactory::destroy));
- _factoryMap.clear();
- _factoryMapHint = _factoryMap.end();
-}