CMS 3D CMS Logo

IgPluginDef< Factory, Type > Struct Template Reference

Helper to simplify registration in IgModuleDef implementations. More...

#include <Iguana/Framework/interface/IgPluginDef.h>

List of all members.

Static Public Member Functions

static void declare (IgModuleDef *def)
 Add Type as Type::catalogLabel() for module def.
static void declareName (IgModuleDef *def, std::string name)
 Add Type as name for module def.
static void installFactory (IgModuleDef *def)
 Add factory for Type, previously registered as Type::catalogLabel() for module def.
static void installFactoryName (IgModuleDef *def, std::string name)
 Add factory for Type, previously registered as name for module def.


Detailed Description

template<class Factory, class Type>
struct IgPluginDef< Factory, Type >

Helper to simplify registration in IgModuleDef implementations.

Definition at line 21 of file IgPluginDef.h.


Member Function Documentation

template<class Factory, class Type>
void IgPluginDef< Factory, Type >::declare ( IgModuleDef def  )  [inline, static]

Add Type as Type::catalogLabel() for module def.

Call this method in the module definition's query() method.

Definition at line 36 of file IgPluginDef.h.

References DBSPlugin::get().

00037 { Factory::get ()->declare (def, Type::catalogLabel ()); }

template<class Factory, class Type>
void IgPluginDef< Factory, Type >::declareName ( IgModuleDef def,
std::string  name 
) [inline, static]

Add Type as name for module def.

Call this method in the module definition's query() method.

Definition at line 43 of file IgPluginDef.h.

References DBSPlugin::get().

00044 { Factory::get ()->declare (def, name); }

template<class Factory, class Type>
void IgPluginDef< Factory, Type >::installFactory ( IgModuleDef def  )  [inline, static]

Add factory for Type, previously registered as Type::catalogLabel() for module def.

Call this method in the module definition's attach() method.

Definition at line 51 of file IgPluginDef.h.

References DBSPlugin::get().

00052 {
00053     typedef typename Factory::Types::template AutoFactory<Type> AutoFactory;
00054     Factory::get ()->installFactory (def, Type::catalogLabel (), new AutoFactory);
00055 }

template<class Factory, class Type>
void IgPluginDef< Factory, Type >::installFactoryName ( IgModuleDef def,
std::string  name 
) [inline, static]

Add factory for Type, previously registered as name for module def.

Call this method in the module definition's attach() method.

Definition at line 62 of file IgPluginDef.h.

References DBSPlugin::get().

00063 {
00064     typedef typename Factory::Types::template AutoFactory<Type> AutoFactory;
00065     Factory::get ()->installFactory (def, name, new AutoFactory);
00066 }


The documentation for this struct was generated from the following file:
Generated on Tue Jun 9 18:25:20 2009 for CMSSW by  doxygen 1.5.4