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);
68 typedef typename UserType::ModuleType ModuleType;
69 typedef typename UserType::WorkerType WorkerType;
72 return std::auto_ptr<Worker>(
new WorkerType(module, md, p));
79 typedef typename UserType::ModuleType ModuleType;
80 typedef typename UserType::WorkerType WorkerType;
82 WorkerType* wt =
dynamic_cast<WorkerType*
>(w);
87 wt->setModule(module);
ModuleDescription const & description() const
void throwValidationException(WorkerParams const &p, cms::Exception const &iException) 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
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
void throwConfigurationException(ModuleDescription const &md, sigc::signal< void, ModuleDescription const & > &post, cms::Exception const &iException) const
virtual void implSwapModule(Worker *, ParameterSet const &)
virtual std::auto_ptr< Worker > makeWorker(WorkerParams const &p, ModuleDescription const &md) const