// ********************************************************************** // // Copyright (c) 2003 - 2004 // ZeroC, Inc. // North Palm Beach, FL, USA // // All Rights Reserved. // // This copy of Ice is licensed to you under the terms described in the // ICE_LICENSE file included in this distribution. // // ********************************************************************** #ifndef ICE_SERVANT_FACTORY_MANAGER_H #define ICE_SERVANT_FACTORY_MANAGER_H #include #include #include #include namespace IceInternal { class ObjectFactoryManager : public ::IceUtil::Shared, public ::IceUtil::Mutex { public: void add(const ::Ice::ObjectFactoryPtr&, const std::string&); void remove(const std::string&); ::Ice::ObjectFactoryPtr find(const std::string&) const; typedef std::map FactoryMap; private: ObjectFactoryManager(); void destroy(); friend class Instance; FactoryMap _factoryMap; mutable FactoryMap::iterator _factoryMapHint; }; } #endif