// ********************************************************************** // // Copyright (c) 2001 // MutableRealms, Inc. // Huntsville, AL, USA // // All Rights Reserved // // ********************************************************************** #include #include using namespace std; using namespace Ice; using namespace IceInternal; void IceInternal::incRef(ServantFactoryManager* p) { p->__incRef(); } void IceInternal::decRef(ServantFactoryManager* p) { p->__decRef(); } void IceInternal::ServantFactoryManager::install(const ServantFactoryPtr& factory, const string& id) { JTCSyncT sync(*this); _factories.insert(make_pair(id, factory)); } ServantFactoryPtr IceInternal::ServantFactoryManager::lookup(const string& id) { JTCSyncT sync(*this); map::const_iterator p; p = _factories.find(id); if (p != _factories.end()) { return p->second; } else { return 0; } } IceInternal::ServantFactoryManager::ServantFactoryManager() { } void IceInternal::ServantFactoryManager::destroy() { JTCSyncT sync(*this); for (map::iterator p = 0; p != _factories.end(); ++p) { p->second->destroy(); } _factories.clear(); }