CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/FWCore/Framework/src/WorkerRegistry.h

Go to the documentation of this file.
00001 #ifndef Framework_WorkerRegistry_h
00002 #define Framework_WorkerRegistry_h
00003 
00012 #include "boost/shared_ptr.hpp"
00013 #include "boost/utility.hpp"
00014 
00015 #include <map>
00016 #include <string>
00017 
00018 
00019 namespace edm {
00020 
00021   class Worker;
00022   class ActivityRegistry;
00023   struct WorkerParams;
00024 
00033   class WorkerRegistry : private boost::noncopyable {
00034 
00035   public:
00036 
00037     explicit WorkerRegistry(boost::shared_ptr<ActivityRegistry> areg);
00038     ~WorkerRegistry();
00039         
00041 
00044     Worker* getWorker(WorkerParams const& p, std::string const& moduleLabel);
00045     void clear();
00046     
00047   private:
00049     typedef std::map<std::string, boost::shared_ptr<Worker> > WorkerMap;
00050 
00052     WorkerMap m_workerMap;
00053     boost::shared_ptr<ActivityRegistry> actReg_;
00054      
00055   }; // WorkerRegistry
00056 
00057 
00058 } // edm
00059 
00060 
00061 #endif