CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Factory.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_Factory_h
2 #define FWCore_Framework_Factory_h
3 
8 
9 #include <map>
10 #include <string>
11 #include <memory>
12 #include "sigc++/signal.h"
13 
14 namespace edm {
16 
17  class Factory
18  {
19  public:
20  typedef std::map<std::string, Maker*> MakerMap;
21 
22  ~Factory();
23 
24  static Factory* get();
25 
26  std::auto_ptr<Worker> makeWorker(const WorkerParams&,
27  sigc::signal<void, const ModuleDescription&>& pre,
28  sigc::signal<void, const ModuleDescription&>& post) const;
29 
30 
31  private:
32  Factory();
34  mutable MakerMap makers_;
35  };
36 
37 }
38 #endif
std::auto_ptr< Worker > makeWorker(const WorkerParams &, sigc::signal< void, const ModuleDescription & > &pre, sigc::signal< void, const ModuleDescription & > &post) const
Definition: Factory.cc:34
edmplugin::PluginFactory< Maker *()> MakerPluginFactory
Definition: Factory.h:15
std::map< std::string, Maker * > MakerMap
Definition: Factory.h:20
static Factory singleInstance_
Definition: Factory.h:33
MakerMap makers_
Definition: Factory.h:34