#include <Iguana/Framework/interface/IgPluginFactory.h>
Public Types | |
typedef Types::Factory | Factory |
The basic factory type. | |
typedef Types::Info | Info |
The info type. | |
typedef Types::Object | Object |
The object we create. | |
typedef IgPluginFactoryImplTypes < Proto > | Types |
Alias type definition helper for more convenient access. | |
Public Member Functions | |
IgPluginFactoryImpl (const std::string &name) | |
virtual void | installFactory (IgModuleDef *def, std::string name, Factory *factory) |
Definition at line 332 of file IgPluginFactory.h.
typedef Types::Factory IgPluginFactoryImpl< Proto >::Factory |
typedef Types::Info IgPluginFactoryImpl< Proto >::Info |
The info type.
Reimplemented from IgPluginFactoryImplBase< IgPluginFactoryImplTypes< Proto > >.
Definition at line 346 of file IgPluginFactory.h.
typedef Types::Object IgPluginFactoryImpl< Proto >::Object |
typedef IgPluginFactoryImplTypes<Proto> IgPluginFactoryImpl< Proto >::Types |
Alias type definition helper for more convenient access.
Definition at line 337 of file IgPluginFactory.h.
IgPluginFactoryImpl< Proto >::IgPluginFactoryImpl | ( | const std::string & | name | ) | [inline] |
Definition at line 604 of file IgPluginFactory.h.
00605 : IgPluginFactoryImplBase<Types> (tag) 00606 {}
void IgPluginFactoryImpl< Proto >::installFactory | ( | IgModuleDef * | def, | |
std::string | name, | |||
Factory * | factory | |||
) | [inline, virtual] |
Definition at line 610 of file IgPluginFactory.h.
References ASSERT, IgPluginFactoryImplBase< IgPluginFactoryImplTypes< Proto > >::info(), and IgModuleDef::module().
00613 { 00614 ASSERT (def); 00615 00616 Info *info = this->info (name); 00617 00618 ASSERT (info); 00619 ASSERT (info->module ()); 00620 ASSERT (info->module () == def->module ()); 00621 ASSERT (! info->name ().empty ()); 00622 ASSERT (info->name () == name); 00623 ASSERT (factory); 00624 00625 info->attach (factory); 00626 }