CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 // $Id: ServiceMakerBase.h,v 1.3 2007/06/14 02:25:50 wmtan Exp $
20 //
21 
22 // system include files
23 
24 // user include files
25 
26 // forward declarations
27 namespace edm {
28  class ParameterSet;
29  class ActivityRegistry;
30 
31  namespace serviceregistry {
32 
33  class SaveConfiguration;
34  class ServiceWrapperBase;
35  class ServicesManager;
36 
38 
39 public:
41  virtual ~ServiceMakerBase();
42 
43  // ---------- const member functions ---------------------
44  virtual const std::type_info& serviceType() const = 0;
45 
46  virtual bool make(const edm::ParameterSet&,
48  ServicesManager&) const = 0;
49 
50  virtual bool saveConfiguration() const = 0;
51 
52  // ---------- static member functions --------------------
53 
54  // ---------- member functions ---------------------------
55 
56 protected:
57  bool testSaveConfiguration(const SaveConfiguration*) const {return true;}
58  bool testSaveConfiguration(const void*) const {return false;}
59 
60 private:
61  ServiceMakerBase(const ServiceMakerBase&); // stop default
62 
63  const ServiceMakerBase& operator=(const ServiceMakerBase&); // stop default
64 
65  // ---------- member data --------------------------------
66 
67  };
68  }
69 }
70 
71 #endif
const ServiceMakerBase & operator=(const ServiceMakerBase &)
bool testSaveConfiguration(const SaveConfiguration *) const
virtual bool make(const edm::ParameterSet &, edm::ActivityRegistry &, ServicesManager &) const =0
bool testSaveConfiguration(const void *) const
virtual bool saveConfiguration() const =0
virtual const std::type_info & serviceType() const =0