CMS 3D CMS Logo

ServiceMakerBase.h
Go to the documentation of this file.
1 #ifndef FWCore_ServiceRegistry_ServiceMakerBase_h
2 #define FWCore_ServiceRegistry_ServiceMakerBase_h
3 // -*- C++ -*-
4 //
5 // Package: ServiceRegistry
6 // Class : ServiceMakerBase
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Mon Sep 5 13:33:00 EDT 2005
19 //
20 
21 #include <typeinfo>
22 
23 // forward declarations
24 namespace edm {
25  class ParameterSet;
26  class ActivityRegistry;
27 
28  namespace service {
29  inline bool isProcessWideService(void const* /*service*/) { return false; }
30  } // namespace service
31 
32  namespace serviceregistry {
33  class SaveConfiguration;
34  class ServiceWrapperBase;
35  class ServicesManager;
36 
38  public:
40  ServiceMakerBase(ServiceMakerBase const&) = delete; // stop default
41  ServiceMakerBase const& operator=(ServiceMakerBase const&) = delete; // stop default
42  virtual ~ServiceMakerBase();
43 
44  // ---------- const member functions ---------------------
45  virtual std::type_info const& serviceType() const = 0;
46 
47  virtual bool make(ParameterSet const&, ActivityRegistry&, ServicesManager&) const = 0;
48 
49  virtual bool processWideService() const = 0;
50 
51  virtual bool saveConfiguration() const = 0;
52 
53  // ---------- static member functions --------------------
54 
55  // ---------- member functions ---------------------------
56 
57  protected:
58  bool testSaveConfiguration(SaveConfiguration const*) const { return true; }
59  bool testSaveConfiguration(void const*) const { return false; }
60 
61  private:
62  // ---------- member data --------------------------------
63  };
64  } // namespace serviceregistry
65 } // namespace edm
66 
67 #endif
service
Definition: service.py:1
edm::serviceregistry::ServiceMakerBase::make
virtual bool make(ParameterSet const &, ActivityRegistry &, ServicesManager &) const =0
ServiceWrapperBase
ActivityRegistry
edm::serviceregistry::ServiceMakerBase::testSaveConfiguration
bool testSaveConfiguration(SaveConfiguration const *) const
Definition: ServiceMakerBase.h:58
edm::serviceregistry::ServiceMakerBase
Definition: ServiceMakerBase.h:37
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::serviceregistry::ServicesManager
Definition: ServicesManager.h:44
edm::service::isProcessWideService
bool isProcessWideService(TFileService const *)
Definition: TFileService.h:98
edm::serviceregistry::ServiceMakerBase::~ServiceMakerBase
virtual ~ServiceMakerBase()
Definition: ServiceMakerBase.cc:38
edm::serviceregistry::SaveConfiguration
Definition: SaveConfiguration.h:30
edm::serviceregistry::ServiceMakerBase::saveConfiguration
virtual bool saveConfiguration() const =0
edm::ActivityRegistry
Definition: ActivityRegistry.h:134
edm::serviceregistry::ServiceMakerBase::testSaveConfiguration
bool testSaveConfiguration(void const *) const
Definition: ServiceMakerBase.h:59
edm::serviceregistry::ServiceMakerBase::serviceType
virtual std::type_info const & serviceType() const =0
edm::ParameterSet
Definition: ParameterSet.h:47
ParameterSet
Definition: Functions.h:16
edm::serviceregistry::ServiceMakerBase::processWideService
virtual bool processWideService() const =0
SaveConfiguration
edm::serviceregistry::ServiceMakerBase::operator=
ServiceMakerBase const & operator=(ServiceMakerBase const &)=delete
ServicesManager
edm::serviceregistry::ServiceMakerBase::ServiceMakerBase
ServiceMakerBase()
Definition: ServiceMakerBase.cc:31