CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/FWCore/Framework/src/InputSourceFactory.h

Go to the documentation of this file.
00001 #ifndef FWCore_Framework_InputSourceFactory_h
00002 #define FWCOre_Framework_InputSourceFactory_h
00003 
00004 #include "FWCore/PluginManager/interface/PluginFactory.h"
00005 #include "FWCore/Framework/interface/InputSource.h"
00006 
00007 #include <string>
00008 #include <memory>
00009 
00010 namespace edm {
00011 
00012   typedef InputSource* (ISFunc)(ParameterSet const&, InputSourceDescription const&);
00013 
00014   typedef edmplugin::PluginFactory<ISFunc> InputSourcePluginFactory;
00015 
00016   class InputSourceFactory {
00017   public:
00018     ~InputSourceFactory();
00019 
00020     static InputSourceFactory* get();
00021 
00022     std::auto_ptr<InputSource>
00023       makeInputSource(ParameterSet const&,
00024                        InputSourceDescription const&) const;
00025     
00026 
00027   private:
00028     InputSourceFactory();
00029     static InputSourceFactory singleInstance_;
00030   };
00031 
00032 }
00033 #endif