1 #ifndef GAUDIKERNEL_GUARDS_H 2 #define GAUDIKERNEL_GUARDS_H 1 115 template <
class OBJECT,
class FUNCTION>
127 if ( svc && m_sc.isFailure() ) { m_sc = svc->handleErr ( *obj , m_sc ) ; }
133 if ( svc ) { m_sc = svc -> handle ( *obj , e ) ; }
139 if ( svc ) { m_sc = svc -> handle ( *obj , e ) ; }
145 if ( svc ) { m_sc = svc -> handle ( *obj ) ; }
282 bool m_customEvtType =
false;
287 if (m_customEvtType) {
288 m_svc->
before(m_cevt,m_obj);
290 m_svc->
before(m_evt,m_obj);
293 if (m_customEvtType) {
294 m_svc->
before(m_cevt,m_objName);
296 m_svc->
before(m_evt,m_objName);
305 if (m_customEvtType) {
307 m_svc->
after(m_cevt,m_obj,*m_sc);
309 m_svc->
after(m_cevt,m_obj);
313 m_svc->
after(m_evt,m_obj,*m_sc);
315 m_svc->
after(m_evt,m_obj);
319 if (m_customEvtType) {
321 m_svc->
after(m_cevt,m_objName,*m_sc);
323 m_svc->
after(m_cevt,m_objName);
327 m_svc->
after(m_evt,m_objName,*m_sc);
329 m_svc->
after(m_evt,m_objName);
344 #endif // GAUDIKERNEL_GUARDS_H virtual void before(StandardEventType, INamedInterface *)=0
Audit the start of a standard "event".
Definition of the MsgStream class used to transmit messages.
IAuditor::StandardEventType m_evt
Event type (standard events)
Define general base for Gaudi exception.
const StatusCode & code() const
the result of function evaluation
StandardEventType
Defines the standard (= used by the framework) auditable event types.
IAuditor::CustomEventType m_cevt
Event type (custom events)
PropertyMgr & operator=(const PropertyMgr &)=delete
const StatusCode & code() const
This class is used for returning status codes from appropriate routines.
std::string m_objName
the guarded object name (if there is no INamedInterface)
The most simple guard - it execute the certain code withing typical "try {} catch" clause...
IInterface compliant class extending IInterface with the name() method.
double fun(const std::vector< double > &x)
virtual void after(StandardEventType, INamedInterface *, const StatusCode &sc=StatusCode(StatusCode::SUCCESS, true))=0
Audit the end of a standard "event".
void reset(TYPE *ptr=nullptr)
Set the internal pointer to the passed one disposing of the old one.
It is a simple guard, which "locks" the scope for the Auditor Service is am exception-safe way...
A DataObject is the base class of any identifiable object on any data store.
The IAuditor is the interface implmented by the AlgAuditor base class.
Helper functions to set/get the application return code.
The abstract interface for exception handling service.