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 
22 #include <typeinfo>
23 
24 // forward declarations
25 namespace edm {
26  class ParameterSet;
27  class ActivityRegistry;
28 
29  namespace service {
30  inline bool isProcessWideService(void const* /*service*/) {
31  return false;
32  }
33  }
34 
35  namespace serviceregistry {
36  class SaveConfiguration;
37  class ServiceWrapperBase;
38  class ServicesManager;
39 
41 
42 public:
44  virtual ~ServiceMakerBase();
45 
46  // ---------- const member functions ---------------------
47  virtual std::type_info const& serviceType() const = 0;
48 
49  virtual bool make(ParameterSet const&,
51  ServicesManager&) const = 0;
52 
53  virtual bool processWideService() const = 0;
54 
55  virtual bool saveConfiguration() const = 0;
56 
57  // ---------- static member functions --------------------
58 
59  // ---------- member functions ---------------------------
60 
61 protected:
62  bool testSaveConfiguration(SaveConfiguration const*) const {return true;}
63  bool testSaveConfiguration(void const*) const {return false;}
64 
65 private:
66  ServiceMakerBase(ServiceMakerBase const&); // stop default
67 
68  ServiceMakerBase const& operator=(ServiceMakerBase const&); // stop default
69 
70  // ---------- member data --------------------------------
71  };
72  }
73 }
74 
75 #endif
bool isProcessWideService(TFileService const *)
Definition: TFileService.h:99
S make(const edm::ParameterSet &cfg)
bool testSaveConfiguration(void const *) const
bool testSaveConfiguration(SaveConfiguration const *) const
HLT enums.