1 #ifndef FWCore_Framework_WorkerMaker_h
2 #define FWCore_Framework_WorkerMaker_h
9 #include "sigc++/signal.h"
14 class ModuleDescription;
21 sigc::signal<void, ModuleDescription const&>& iPre,
22 sigc::signal<void, ModuleDescription const&>& iPost)
const;
28 sigc::signal<void, ModuleDescription const&>& post,
40 virtual const std::string&
baseType()
const =0;
52 virtual const std::string&
baseType()
const;
62 T::fillDescriptions(iDesc);
63 T::prevalidate(iDesc);
69 typedef typename UserType::ModuleType ModuleType;
70 typedef typename UserType::WorkerType WorkerType;
73 return std::auto_ptr<Worker>(
new WorkerType(module, md, p));
80 typedef typename UserType::ModuleType ModuleType;
81 typedef typename UserType::WorkerType WorkerType;
83 WorkerType* wt =
dynamic_cast<WorkerType*
>(
w);
88 wt->setModule(module);
ModuleDescription const & description() const
virtual const std::string & baseType() const
virtual void fillDescriptions(ConfigurationDescriptions &iDesc) const
std::auto_ptr< Worker > makeWorker(WorkerParams const &, sigc::signal< void, ModuleDescription const & > &iPre, sigc::signal< void, ModuleDescription const & > &iPost) const
void throwConfigurationException(ModuleDescription const &md, sigc::signal< void, ModuleDescription const & > &post, cms::Exception &iException) const
virtual const std::string & baseType() const =0
void swapModule(Worker *, ParameterSet const &)
void validateEDMType(std::string const &edmType, WorkerParams const &p) const
virtual void implSwapModule(Worker *, ParameterSet const &)=0
ModuleDescription createModuleDescription(WorkerParams const &p) const
virtual void fillDescriptions(ConfigurationDescriptions &iDesc) const =0
virtual void implSwapModule(Worker *, ParameterSet const &)
virtual std::auto_ptr< Worker > makeWorker(WorkerParams const &p, ModuleDescription const &md) const
void throwValidationException(WorkerParams const &p, cms::Exception &iException) const