CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ProductRegistryHelper.cc
Go to the documentation of this file.
1 /*----------------------------------------------------------------------
2 
3 ----------------------------------------------------------------------*/
4 
10 
11 namespace edm {
13 
15  return typeLabelList_;
16  }
17 
18  void
19  ProductRegistryHelper::addToRegistry(TypeLabelList::const_iterator const& iBegin,
20  TypeLabelList::const_iterator const& iEnd,
21  ModuleDescription const& iDesc,
22  ProductRegistry& iReg,
23  bool iIsListener) {
24  std::string const prefix("LCGReflex/");
25  Reflex::Type null;
26  for(TypeLabelList::const_iterator p = iBegin; p != iEnd; ++p) {
27  if(null == Reflex::Type::ByName(p->typeID_.userClassName()) ) {
28  //attempt to load
29  edmplugin::PluginCapabilities::get()->tryToLoad(prefix + p->typeID_.userClassName());
30  }
31  BranchDescription pdesc(p->branchType_,
32  iDesc.moduleLabel(),
33  iDesc.processName(),
34  p->typeID_.userClassName(),
35  p->typeID_.friendlyClassName(),
36  p->productInstanceName_,
37  iDesc.moduleName(),
38  iDesc.parameterSetID(),
39  p->typeID_);
40  if (!p->branchAlias_.empty()) pdesc.branchAliases().insert(p->branchAlias_);
41  iReg.addProduct(pdesc, iIsListener);
42  }//for
43  }
44 }
std::list< TypeLabelItem > TypeLabelList
std::string const & processName() const
std::string const & moduleName() const
std::string const & moduleLabel() const
TypeLabelList & typeLabelList()
used by the fwk to register the list of products of this module
static PluginCapabilities * get()
bool tryToLoad(const std::string &iName)
std::set< std::string > const & branchAliases() const
author Stefano ARGIRO author Bill Tanenbaum
ParameterSetID const & parameterSetID() const
static void addToRegistry(TypeLabelList::const_iterator const &iBegin, TypeLabelList::const_iterator const &iEnd, ModuleDescription const &iDesc, ProductRegistry &iReg, bool iIsListener=false)
void addProduct(BranchDescription const &productdesc, bool iFromListener=false)