File indexing completed on 2023-03-17 10:45:48
0001 #ifndef CondCore_CondDB_CondServiceWrapper_h
0002 #define CondCore_CondDB_CondServiceWrapper_h
0003
0004 #include <string>
0005
0006 namespace coral {
0007 class Service;
0008 }
0009
0010
0011
0012
0013
0014
0015
0016 namespace cond {
0017 struct CoralServiceWrapperBase {
0018 virtual ~CoralServiceWrapperBase() = default;
0019 virtual coral::Service* create(const std::string& componentname) const = 0;
0020 };
0021
0022 template <typename T>
0023 struct CoralServiceWrapper : public CoralServiceWrapperBase {
0024 ~CoralServiceWrapper() override = default;
0025 coral::Service* create(const std::string& componentname) const override { return new T{componentname}; }
0026 };
0027 }
0028
0029 #endif