Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:01:24

0001 #ifndef CondCore_CondDB_CoralServiceFactory_h
0002 #define CondCore_CondDB_CoralServiceFactory_h
0003 #include "FWCore/PluginManager/interface/PluginFactory.h"
0004 #include "CondCore/CondDB/interface/CoralServiceWrapper.h"
0005 #include <string>
0006 //
0007 // Package:     CondCore/CondDB
0008 // Class  :     CoralServiceFactory
0009 //
0010 /**\class CoralServiceFactory CoralServiceFactory.h CondCore/CondDB/interface/CoralServiceFactory.h
0011 
0012  Description: A special edm plugin factory that creates coral::Service 
0013 
0014  Usage: used internally by CoralServiceManager to create coral::Service as edm plugin
0015 */
0016 //
0017 // Original Author:  Zhen Xie
0018 //         Created:  Wed Nov 12 10:57:47 CET 2008
0019 // $Id $
0020 //
0021 namespace coral {
0022   class Service;
0023 }
0024 namespace cond {
0025   typedef edmplugin::PluginFactory<cond::CoralServiceWrapperBase*()> CoralServicePluginFactory;
0026 
0027   class CoralServiceFactory {
0028   public:
0029     ~CoralServiceFactory();
0030     static CoralServiceFactory* get();
0031     coral::Service* create(const std::string& componentname) const;
0032 
0033   private:
0034     CoralServiceFactory();
0035   };
0036 }  // namespace cond
0037 #endif