![]() |
![]() |
00001 #ifndef FWCore_Sources_VectorInputSourceFactory_h 00002 #define FWCore_Sources_VectorInputSourceFactory_h 00003 00004 #include "FWCore/PluginManager/interface/PluginFactory.h" 00005 #include "FWCore/Sources/interface/VectorInputSource.h" 00006 00007 #include <memory> 00008 #include <string> 00009 00010 namespace edm { 00011 struct InputSourceDescription; 00012 class ParameterSet; 00013 00014 typedef VectorInputSource* (ISVecFunc)(ParameterSet const&, InputSourceDescription const&); 00015 typedef edmplugin::PluginFactory<ISVecFunc> VectorInputSourcePluginFactory; 00016 00017 class VectorInputSourceFactory { 00018 public: 00019 ~VectorInputSourceFactory(); 00020 00021 static VectorInputSourceFactory* get(); 00022 00023 std::auto_ptr<VectorInputSource> 00024 makeVectorInputSource(ParameterSet const&, 00025 InputSourceDescription const&) const; 00026 00027 private: 00028 VectorInputSourceFactory(); 00029 static VectorInputSourceFactory singleInstance_; 00030 }; 00031 } 00032 #endif