TypedObject * make_instance(TypeHandle handle, const FactoryParams ¶ms)
Attempts to create a new instance of some class of the indicated type, or some derivative if necessar...
void register_factory(TypeHandle handle, BaseCreateFunc *func, void *user_data=nullptr)
Registers a new kind of thing the Factory will be able to create.
Type * make_instance(TypeHandle handle, const FactoryParams ¶ms=FactoryParams())
Attempts to create a new instance of some class of the indicated type, or some derivative if necessar...
TypeHandle is the identifier used to differentiate C++ class types.
An instance of this class is passed to the Factory when requesting it to do its business and construc...
void register_factory(TypeHandle handle, CreateFunc *func, void *user_data=nullptr)
Registers a new kind of thing the Factory will be able to create.
Type * make_instance_more_general(TypeHandle handle, const FactoryParams ¶ms=FactoryParams())
Attempts to create an instance of the type requested, or some base type of the type requested.
TypedObject * make_instance_more_general(TypeHandle handle, const FactoryParams ¶ms)
Attempts to create an instance of the type requested, or some base type of the type requested.