CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ESModuleCallingContext.h
Go to the documentation of this file.
1 #ifndef FWCore_ServiceRegistry_ESModuleCallingContext_h
2 #define FWCore_ServiceRegistry_ESModuleCallingContext_h
3 
13 //
14 // Original Author: W. David Dagenhart
15 // Created: 7/11/2013
16 
18 
19 #include <iosfwd>
20 
21 namespace edm {
22 
23  namespace eventsetup {
24  struct ComponentDescription;
25  }
26  class ModuleCallingContext;
28  public:
30 
31  enum class State {
32  kPrefetching, // prefetching products before starting to run
33  kRunning, // module actually running
34  kInvalid
35  };
36 
38 
40  State state,
41  ESParentContext const& parent);
42 
44 
46 
48  State state() const { return state_; }
49  Type type() const { return parent_.type(); }
50  ESParentContext const& parent() const { return parent_; }
53 
54  // This function will iterate up a series of linked context objects to
55  // find the highest level ModuleCallingContext.
57 
58  // Returns the number of ESModuleCallingContexts above this ESModuleCallingContext
59  // in the series of linked context objects.
60  unsigned depth() const;
61 
62  private:
66  };
67 } // namespace edm
68 #endif
ModuleCallingContext const * moduleCallingContext() const
ESModuleCallingContext(edm::eventsetup::ComponentDescription const *moduleDescription)
ESModuleCallingContext const * esmoduleCallingContext() const
ESParentContext const & parent() const
ModuleCallingContext const * getTopModuleCallingContext() const
edm::eventsetup::ComponentDescription const * componentDescription() const
ModuleCallingContext const * moduleCallingContext() const
edm::eventsetup::ComponentDescription const * componentDescription_
Type type() const noexcept
void setContext(State state, ESParentContext const &parent)
ESModuleCallingContext const * esmoduleCallingContext() const