Gaudi Framework, version v20r2

Generated: 18 Jul 2008

ExceptionSvc.h

Go to the documentation of this file.
00001 // $Id: ExceptionSvc.h,v 1.4 2007/05/24 14:41:22 hmd Exp $ 
00002 // ============================================================================
00003 // CvS tag $Name: v17r1 $, version $Revision: 1.4 $
00004 // ============================================================================
00005 #ifndef GAUDISVC_EXCEPTIONSVC_H
00006 #define GAUDISVC_EXCEPTIONSVC_H
00007 // ============================================================================
00008 // Include files 
00009 // ============================================================================
00010 // GaudiKernel
00011 // ============================================================================
00012 #include "GaudiKernel/IExceptionSvc.h"
00013 #include "GaudiKernel/Service.h"
00014 #include "GaudiKernel/SvcFactory.h"
00015 // ============================================================================
00022 // ============================================================================
00023 class ExceptionSvc 
00024   : public               Service
00025   , public virtual IExceptionSvc 
00026 {
00027   friend class SvcFactory<ExceptionSvc> ;
00028 public:
00030   virtual StatusCode handle
00031   ( const INamedInterface& o , 
00032     const GaudiException&  e ) const     ; 
00033 
00034   virtual StatusCode handle
00035   ( const INamedInterface& o , 
00036     const std::exception & e ) const     ; 
00037 
00038   virtual StatusCode handle
00039   ( const INamedInterface& o ) const     ; 
00040 
00041   virtual StatusCode handleErr
00042   ( const INamedInterface& o , 
00043     const StatusCode&      s ) const     ; 
00044 public: 
00046   virtual StatusCode initialize   () ;
00048   virtual StatusCode finalize     () ;
00049 public: 
00053   virtual StatusCode queryInterface
00054   ( const InterfaceID& iid  , 
00055     void**             ppvi ) ;
00056 public:
00061   ExceptionSvc 
00062   ( const std::string& name , 
00063     ISvcLocator*       svc  ) ;
00065   virtual ~ExceptionSvc();
00066 private:
00067   // default constructor is disabled 
00068   ExceptionSvc () ; 
00069   // copy constructor is disabled 
00070   ExceptionSvc ( const ExceptionSvc& ) ; 
00071   // assignement operator is disabled 
00072   ExceptionSvc& operator=( const ExceptionSvc& ) ; 
00073 private:
00074 
00075   enum ExceptState { ALL, NONE, LIST };
00076   enum ReturnState { DEFAULT, SUCCESS, FAILURE, RECOVERABLE, RETHROW };
00077 
00078   std::string m_mode_s;
00079   ExceptState m_mode;
00080   StringArrayProperty m_algs_v;
00081   std::set<std::string> m_algs;
00082   std::map<std::string,ReturnState> m_retCodes;
00083 
00084 };
00085 
00086 // ============================================================================
00087 #endif // GAUDISVC_EXCEPTIONSVC_H
00088 // ============================================================================
00089 // The END 
00090 // ============================================================================

Generated at Fri Jul 18 11:59:24 2008 for Gaudi Framework, version v20r2 by Doxygen version 1.5.1 written by Dimitri van Heesch, © 1997-2004