Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:45:48

0001 #ifndef CondCore_CondDB_CoralServiceManager_h
0002 #define CondCore_CondDB_CoralServiceManager_h
0003 #include "CoralKernel/IPluginManager.h"
0004 #include <set>
0005 #include <string>
0006 //
0007 // Package:     CondCore/CondDB
0008 // Class  :     CoralServiceManager
0009 //
0010 /**\class CoralServiceManager CoralServiceManager.h CondCore/CondDB/interface/CoralServiceManager.h
0011 
0012  Description: This is a bridge that implement coral::IPluginManager interface and internally uses edm plugin factory to create plugins of type coral::Service. 
0013 
0014  Usage: the plugin managed by this class must inherit from coral::Service interface. The pointer of CoralServiceManager should be passed to the coral::Context
0015 */
0016 //
0017 // Original Author:  Zhen Xie
0018 //         Created:  Wed Nov 12 10:48:50 CET 2008
0019 // $Id $
0020 //
0021 namespace coral {
0022   class ILoadableComponent;
0023 }
0024 namespace cond {
0025   class CoralServiceManager : public coral::IPluginManager {
0026   public:
0027     coral::ILoadableComponent* newComponent(const std::string& componentName) override;
0028     /// Returns the list of known components
0029     std::set<std::string> knownPlugins() const override;
0030     ~CoralServiceManager() override {}
0031   };
0032 }  // namespace cond
0033 #endif