The Gaudi Framework  v28r3 (cc1cf868)
IGslSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIGSL_IGSLSVC_H
2 #define GAUDIGSL_IGSLSVC_H 1
3 // Include files
4 #include "GaudiKernel/IService.h"
5 // forward declaration
6 class GslError ;
16 struct GAUDI_API IGslSvc : extend_interfaces<IService> {
19 
26  typedef void (*GslErrorHandler)
27  ( const char* /* reason */ ,
28  const char* /* file */ ,
29  int /* line */ ,
30  int /* code */ );
31 
37  virtual StatusCode handle
38  ( const GslError& error ) const = 0 ;
39 
43  virtual GslErrorHandler handler () const = 0 ;
44 
49  virtual GslErrorHandler setHandler ( GslErrorHandler handler ) const = 0 ;
50 
55  virtual StatusCode status ( const int error ) const = 0 ;
56 
57 };
58 
59 // ============================================================================
60 // The END
61 // ============================================================================
62 #endif // GAUDIGSL_IGSLSVC_H
63 // ============================================================================
Helper class to represent GSL errors.
Definition: GslError.h:16
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:14
class MergingTransformer< Out(const vector_of_const_< In > void
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Base class to be used to extend an interface.
The abstract interface to "deal" with GNU Scientific Library (GLS) The main task is the error handlin...
Definition: IGslSvc.h:16
#define GAUDI_API
Definition: Kernel.h:107