00001 // $Id: IGslSvc.h,v 1.2 2003/11/19 16:55:57 mato Exp $ 00002 // ============================================================================ 00003 #ifndef GAUDIGSL_IGSLSVC_H 00004 #define GAUDIGSL_IGSLSVC_H 1 00005 // Include files 00006 #include "GaudiKernel/IService.h" 00007 // local 00008 #include "GaudiGSL/IIDIGslSvc.h" 00009 // forward declaration 00010 class GslError ; 00020 class IGslSvc : virtual public IService 00021 { 00022 public: 00023 00030 typedef void (*GslErrorHandler) 00031 ( const char* /* reason */ , 00032 const char* /* file */ , 00033 int /* line */ , 00034 int /* code */ ); 00035 00036 00037 public: 00038 00042 static const InterfaceID& interfaceID() { return IID_IGslSvc ; } 00043 00049 virtual StatusCode handle 00050 ( const GslError& error ) const = 0 ; 00051 00055 virtual GslErrorHandler handler () const = 0 ; 00056 00061 virtual GslErrorHandler setHandler ( GslErrorHandler handler ) const = 0 ; 00062 00067 virtual StatusCode status ( const int error ) const = 0 ; 00068 00069 protected: 00070 00072 virtual ~IGslSvc(){} ; 00073 00074 }; 00075 00076 // ============================================================================ 00077 // The END 00078 // ============================================================================ 00079 #endif // GAUDIGSL_IGSLSVC_H 00080 // ============================================================================