Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef FWCore_Framework_ESProductResolverFactoryBase_h
0002 #define FWCore_Framework_ESProductResolverFactoryBase_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Framework
0006 // Class  :     ESProductResolverFactoryBase
0007 //
0008 /**\class edm::eventsetup::ESProductResolverFactoryBase
0009 
0010  Description: <one line class summary>
0011 
0012  Usage:
0013     <usage>
0014 
0015 */
0016 //
0017 // Author:      Chris Jones
0018 // Created:     Thu Apr  7 21:50:36 CDT 2005
0019 //
0020 
0021 // system include files
0022 #include <memory>
0023 #include <string>
0024 
0025 // user include files
0026 #include "FWCore/Framework/interface/DataKey.h"
0027 
0028 namespace edm {
0029   namespace eventsetup {
0030 
0031     class ESProductResolver;
0032 
0033     class ESProductResolverFactoryBase {
0034     public:
0035       ESProductResolverFactoryBase() = default;
0036       ESProductResolverFactoryBase(const ESProductResolverFactoryBase&) = delete;
0037       const ESProductResolverFactoryBase& operator=(const ESProductResolverFactoryBase&) = delete;
0038       virtual ~ESProductResolverFactoryBase() = default;
0039 
0040       virtual std::unique_ptr<ESProductResolver> makeResolver(unsigned int iovIndex) = 0;
0041 
0042       virtual DataKey makeKey(const std::string& iName) const = 0;
0043     };
0044   }  // namespace eventsetup
0045 }  // namespace edm
0046 #endif