32#include <Ice/ValueFactory.h>
39 class FactoryCollectionBaseCleanUp
50 template <
class IceBaseClass,
class DerivedClass>
55 create(
const std::string& type)
override
57 assert(type == IceBaseClass::ice_staticId());
58 return new DerivedClass();
75 static const std::vector<FactoryCollectionBasePtr>&
81 template <
class IceBaseClass,
class DerivedClass>
85 map.insert(std::make_pair(IceBaseClass::ice_staticId(),
89 template <
class DerivedClass>
93 map.insert(std::make_pair(DerivedClass::ice_staticId(),
~FactoryCollectionBaseCleanUp()
friend class FactoryCollectionBase
FactoryCollectionBaseCleanUp(FactoryCollectionBaseCleanUp &&)=default
friend class ArmarXManager
static const std::vector< FactoryCollectionBasePtr > & GetPreregistratedFactories()
static std::vector< FactoryCollectionBasePtr > & PreregistrationList()
void add(ObjectFactoryMap &map)
virtual ObjectFactoryMap getFactories()=0
static FactoryCollectionBaseCleanUp addToPreregistration(FactoryCollectionBasePtr factoryCollection)
friend class FactoryCollectionBaseCleanUp
void add(ObjectFactoryMap &map)
Ice::ObjectPtr create(const std::string &type) override
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::map< std::string, Ice::ValueFactoryPtr > ObjectFactoryMap
IceUtil::Handle< FactoryCollectionBase > FactoryCollectionBasePtr