The Gaudi Framework  v29r0 (ff2e7097)
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> {
18  DeclareInterfaceID( IGslSvc, 3, 0 );
19 
26  typedef void ( *GslErrorHandler )( const char* /* reason */, const char* /* file */, int /* line */,
27  int /* code */ );
28 
34  virtual StatusCode handle( const GslError& error ) const = 0;
35 
39  virtual GslErrorHandler handler() const = 0;
40 
45  virtual GslErrorHandler setHandler( GslErrorHandler handler ) const = 0;
46 
51  virtual StatusCode status( const int error ) const = 0;
52 };
53 
54 // ============================================================================
55 // The END
56 // ============================================================================
57 #endif // GAUDIGSL_IGSLSVC_H
58 // ============================================================================
Helper class to represent GSL errors.
Definition: GslError.h:16
class MergingTransformer< Out(const vector_of_const_< In > void
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
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:110