CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
virtual bool make(ParameterSet const &, ActivityRegistry &, ServicesManager &) const =0
virtual bool processWideService() const =0
bool isProcessWideService(TFileService const *)
Definition: TFileService.h:98
bool testSaveConfiguration(void const *) const
bool testSaveConfiguration(SaveConfiguration const *) const
ServiceMakerBase const & operator=(ServiceMakerBase const &)=delete
virtual bool saveConfiguration() const =0
virtual std::type_info const & serviceType() const =0