1 #ifndef GAUDIKERNEL_GUARDS_H     2 #define GAUDIKERNEL_GUARDS_H 1   115       template <
class OBJECT, 
class FUNCTION>
   122           if ( svc && m_sc.isFailure() ) {
   123             m_sc = svc->handleErr( *obj, m_sc );
   129             m_sc = svc->handle( *obj, e );
   135             m_sc = svc->handle( *obj, e );
   141             m_sc = svc->handle( *obj );
   266       bool m_customEvtType = 
false;
   272             if ( m_customEvtType ) {
   273               m_svc->
before( m_cevt, m_obj );
   275               m_svc->
before( m_evt, m_obj );
   278             if ( m_customEvtType ) {
   279               m_svc->
before( m_cevt, m_objName );
   281               m_svc->
before( m_evt, m_objName );
   291             if ( m_customEvtType ) {
   293                 m_svc->
after( m_cevt, m_obj, *m_sc );
   295                 m_svc->
after( m_cevt, m_obj );
   299                 m_svc->
after( m_evt, m_obj, *m_sc );
   301                 m_svc->
after( m_evt, m_obj );
   305             if ( m_customEvtType ) {
   307                 m_svc->
after( m_cevt, m_objName, *m_sc );
   309                 m_svc->
after( m_cevt, m_objName );
   313                 m_svc->
after( m_evt, m_objName, *m_sc );
   315                 m_svc->
after( m_evt, m_objName );
   329 #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. 
 
ExceptionGuard(OBJECT obj, FUNCTION fun, MsgStream &log, IExceptionSvc *svc=0)
 
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.