CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/FWCore/PluginManager/interface/PresenceFactory.h

Go to the documentation of this file.
00001 #ifndef FWCore_PluginManager_PresenceFactory_h
00002 #define FWCore_PluginManager_PresenceFactory_h
00003 
00004 #include "FWCore/Utilities/interface/Presence.h"
00005 #include "FWCore/PluginManager/interface/PluginFactory.h"
00006 
00007 #include <string>
00008 #include <memory>
00009 
00010 namespace edm {
00011   typedef edmplugin::PluginFactory<Presence* ()> PresencePluginFactory;
00012   
00013   typedef Presence* (PresenceFunc)();
00014 
00015   class PresenceFactory {
00016   public:
00017     ~PresenceFactory();
00018 
00019     static PresenceFactory* get();
00020 
00021     std::auto_ptr<Presence>
00022       makePresence(std::string const & presence_type) const;
00023 
00024   private:
00025     PresenceFactory();
00026     //static PresenceFactory singleInstance_;
00027   };
00028 }
00029 #endif // FWCore_PluginManager_PresenceFactory_h