Gaudi Framework, version v23r6

Home   Generated: Wed Jan 30 2013
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Auditor.h
Go to the documentation of this file.
1 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/Auditor.h,v 1.17 2008/10/27 19:22:20 marcocle Exp $
2 #ifndef GAUDIKERNEL_AUDITOR_H
3 #define GAUDIKERNEL_AUDITOR_H
4 
5 // Include files
7 #include "GaudiKernel/IAuditor.h"
8 #include "GaudiKernel/IService.h"
9 #include "GaudiKernel/ISvcLocator.h" /*used by service(..)*/
11 #include <string>
12 #include <vector>
13 
14 // Forward declarations
15 class IService;
16 class IMessageSvc;
17 class Property;
18 class Algorithm;
19 
34 class GAUDI_API Auditor : public implements2<IAuditor, IProperty> {
35 public:
36 
40  Auditor( const std::string& name, ISvcLocator *svcloc );
42  virtual ~Auditor();
43 
47  StatusCode sysInitialize();
51  StatusCode sysFinalize();
52 
54 
55  virtual void before(StandardEventType, INamedInterface*);
56  virtual void before(StandardEventType, const std::string&);
57 
58  virtual void before(CustomEventTypeRef, INamedInterface*);
59  virtual void before(CustomEventTypeRef, const std::string&);
60 
61  virtual void after(StandardEventType, INamedInterface*, const StatusCode&);
62  virtual void after(StandardEventType, const std::string&, const StatusCode&);
63 
64  virtual void after(CustomEventTypeRef, INamedInterface*, const StatusCode&);
65  virtual void after(CustomEventTypeRef, const std::string&, const StatusCode&);
66 
67  // Obsolete methods
68 
69  virtual void beforeInitialize(INamedInterface* ) ;
70  virtual void afterInitialize(INamedInterface* ) ;
71 
72  virtual void beforeReinitialize(INamedInterface* ) ;
73  virtual void afterReinitialize(INamedInterface* ) ;
74 
75  virtual void beforeExecute(INamedInterface* );
76  virtual void afterExecute(INamedInterface*, const StatusCode& );
77 
78  virtual void beforeFinalize(INamedInterface* ) ;
79  virtual void afterFinalize(INamedInterface* ) ;
80 
81  virtual void beforeBeginRun(INamedInterface* );
82  virtual void afterBeginRun(INamedInterface* );
83 
84  virtual void beforeEndRun(INamedInterface* );
85  virtual void afterEndRun(INamedInterface* );
86 
87  virtual StatusCode initialize();
88  virtual StatusCode finalize();
89 
90  virtual const std::string& name() const ;
91 
92  virtual bool isEnabled() const ;
93 
97  SmartIF<IMessageSvc>& msgSvc() const;
98 
100  int outputLevel() const { return m_outputLevel; }
101 
103  void setOutputLevel( int level );
104 
109  SmartIF<ISvcLocator>& serviceLocator() const;
110 
113  template <class T>
114  StatusCode service( const std::string& name, T*& svc, bool createIf = false ) const {
115  SmartIF<T> ptr(serviceLocator()->service(name, createIf));
116  if (ptr.isValid()) {
117  svc = ptr.get();
118  svc->addRef();
119  return StatusCode::SUCCESS;
120  }
121  // else
122  svc = 0;
123  return StatusCode::FAILURE;
124  }
125 
127  virtual StatusCode setProperty(const Property& p);
128 
130  virtual StatusCode setProperty( const std::string& s );
131 
133  virtual StatusCode setProperty( const std::string& n, const std::string& v);
134 
136  virtual StatusCode getProperty(Property* p) const;
137 
139  virtual const Property& getProperty( const std::string& name) const;
140 
142  virtual StatusCode getProperty( const std::string& n, std::string& v ) const;
143 
145  const std::vector<Property*>& getProperties( ) const;
146 
147 
188  template <class TYPE>
190  ( const std::string& name ,
191  const TYPE& value )
192  { return Gaudi::Utils::setProperty ( m_PropertyMgr , name , value ) ; }
193 
199  StatusCode setProperties();
200 
201  // ==========================================================================
229  template <class T>
230  Property* declareProperty( const std::string& name, T& property,
231  const std::string& doc = "none") const {
232  return m_PropertyMgr->declareProperty(name, property, doc);
233  }
234 
235  private:
236 
238 
243  bool m_isEnabled;
246 
247  // Private Copy constructor: NO COPY ALLOWED
248  Auditor(const Auditor& a);
249 
250  // Private asignment operator: NO ASSIGNMENT ALLOWED
251  Auditor& operator=(const Auditor& rhs);
252 };
253 
254 #endif //GAUDIKERNEL_AUDITOR_H
255 

Generated at Wed Jan 30 2013 17:13:39 for Gaudi Framework, version v23r6 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004