All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
AuditorSvc.h
Go to the documentation of this file.
1 // $Id: $
2 #ifndef AuditorSvc_AuditorSvc_H
3 #define AuditorSvc_AuditorSvc_H
4 
5 // Include Files
6 #include "GaudiKernel/Service.h"
8 #include <list>
9 #include <vector>
10 
11 //------------------------------------------------------------------
12 //
13 // ClassName: AuditorSvc
14 //
15 // Description: This service manages Auditors.
16 // Auditors can be inserted in the system to audit the Algorithms is
17 // in their functions.
18 //------------------------------------------------------------------
19 class AuditorSvc : public extends1<Service, IAuditorSvc> {
20 
21 public:
22 
23 // Typedefs
24  typedef std::list<IAuditor*> ListAudits;
25  typedef std::vector<std::string> VectorName;
26 
27 // Inherited Service overrides:
28 //
29  // Initialize the service.
30  virtual StatusCode initialize();
31 
32  // Finalize the service.
33  virtual StatusCode finalize();
34 
35 // IAuditorSvc interfaces overwrite
36 //
38 
40  virtual void before(StandardEventType, const std::string&);
41 
43  virtual void before(CustomEventTypeRef, const std::string&);
44 
45  virtual void after(StandardEventType, INamedInterface*, const StatusCode&);
46  virtual void after(StandardEventType, const std::string&, const StatusCode&);
47 
48  virtual void after(CustomEventTypeRef, INamedInterface*, const StatusCode&);
49  virtual void after(CustomEventTypeRef, const std::string&, const StatusCode&);
50 
51  // inform Auditors that the initialize() is about to be called
52  virtual void beforeInitialize(INamedInterface* ini);
53  // inform Auditors that the initialize() has been called
54  virtual void afterInitialize(INamedInterface* ini);
55 
56  // inform Auditors that the reinitialize() is about to be called
57  virtual void beforeReinitialize(INamedInterface* ini);
58  // inform Auditors that the reinitialize() has been called
59  virtual void afterReinitialize(INamedInterface* ini);
60 
61  // inform Auditors that the execute() is about to be called
62  virtual void beforeExecute(INamedInterface* ini);
63  // inform Auditors that the execute() has been called
64  virtual void afterExecute(INamedInterface* ini, const StatusCode& );
65 
66  // inform Auditors that the beginRun() is about to be called
67  virtual void beforeBeginRun(INamedInterface* ini);
68  // inform Auditors that the beginRun() has been called
69  virtual void afterBeginRun(INamedInterface* ini);
70 
71  // inform Auditors that the endRun() is about to be called
72  virtual void beforeEndRun(INamedInterface* ini);
73  // inform Auditors that the endRun() has been called
74  virtual void afterEndRun(INamedInterface* ini);
75 
76  // inform Auditors that the finalize() is about to be called
77  virtual void beforeFinalize(INamedInterface* ini);
78  // inform Auditors that the finalize() has been called
79  virtual void afterFinalize(INamedInterface* ini);
80 
81  virtual bool isEnabled() const ;
82 
83  virtual StatusCode sysInitialize();
84  virtual StatusCode sysFinalize();
85 
86  // management functionality: retrieve an Auditor
87  virtual IAuditor* getAuditor( const std::string& name );
88 
89  // Standard Constructor.
90  // Input: name String with service name
91  // Input: svc Pointer to service locator interface
92  AuditorSvc( const std::string& name, ISvcLocator* svc );
93 
94  // Destructor.
95  virtual ~AuditorSvc();
96 
97 private:
98  // management helper
99  IAuditor* newAuditor_( MsgStream&, const std::string& );
100  IAuditor* findAuditor_( const std::string& );
102 
103  // List of auditor names
105 
106  // Manager list of Auditors
108 
109  // To disable alltogether the auditors
111 };
112 
113 #endif
virtual StatusCode initialize()
Initialization (from CONFIGURED to INITIALIZED).
Definition: AuditorSvc.cpp:110
virtual void afterInitialize(INamedInterface *ini)
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:26
StandardEventType
Defines the standard (= used by the framework) auditable event types.
Definition: IAuditor.h:24
virtual void before(StandardEventType, INamedInterface *)
The following methods are meant to be implemented by the child class...
Definition: AuditorSvc.cpp:137
virtual IAuditor * getAuditor(const std::string &name)
management functionality: retrieve an Auditor
Definition: AuditorSvc.cpp:251
const CustomEventType & CustomEventTypeRef
Used in function calls for optimization purposes.
Definition: IAuditor.h:41
std::list< IAuditor * > ListAudits
Definition: AuditorSvc.h:24
virtual ~AuditorSvc()
Definition: AuditorSvc.cpp:104
virtual bool isEnabled() const
Tell if the auditor is enabled or not.
Definition: AuditorSvc.cpp:239
AuditorSvc(const std::string &name, ISvcLocator *svc)
Definition: AuditorSvc.cpp:96
virtual void afterFinalize(INamedInterface *ini)
virtual void beforeBeginRun(INamedInterface *ini)
VectorName m_audNameList
Definition: AuditorSvc.h:104
std::vector< std::string > VectorName
Definition: AuditorSvc.h:25
virtual void after(StandardEventType, INamedInterface *, const StatusCode &)
Audit the end of a standard "event".
Definition: AuditorSvc.cpp:174
IAuditor * newAuditor_(MsgStream &, const std::string &)
Definition: AuditorSvc.cpp:22
virtual void afterBeginRun(INamedInterface *ini)
virtual void afterExecute(INamedInterface *ini, const StatusCode &)
Definition: AuditorSvc.cpp:224
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
virtual void beforeInitialize(INamedInterface *ini)
Base class used to extend a class implementing other interfaces.
Definition: extends.h:10
IAuditor * findAuditor_(const std::string &)
Definition: AuditorSvc.cpp:46
virtual void afterReinitialize(INamedInterface *ini)
virtual void beforeReinitialize(INamedInterface *ini)
virtual StatusCode finalize()
Finalize (from INITIALIZED to CONFIGURED).
Definition: AuditorSvc.cpp:122
virtual const std::string & name() const
Retrieve name of the service.
Definition: Service.cpp:331
virtual StatusCode sysInitialize()
Initialize Service.
Definition: AuditorSvc.cpp:243
IInterface compliant class extending IInterface with the name() method.
virtual void beforeEndRun(INamedInterface *ini)
virtual void beforeExecute(INamedInterface *ini)
bool m_isEnabled
Definition: AuditorSvc.h:110
virtual void beforeFinalize(INamedInterface *ini)
virtual void afterEndRun(INamedInterface *ini)
StatusCode syncAuditors_()
Definition: AuditorSvc.cpp:61
ListAudits m_pAudList
Definition: AuditorSvc.h:107
The IAuditor is the interface implmented by the AlgAuditor base class.
Definition: IAuditor.h:18
virtual StatusCode sysFinalize()
Finalize Service.
Definition: AuditorSvc.cpp:246