All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IGslSvc.h
Go to the documentation of this file.
1 // $Id: IGslSvc.h,v 1.2 2003/11/19 16:55:57 mato Exp $
2 // ============================================================================
3 #ifndef GAUDIGSL_IGSLSVC_H
4 #define GAUDIGSL_IGSLSVC_H 1
5 // Include files
6 #include "GaudiKernel/IService.h"
7 // forward declaration
8 class GslError ;
18 class GAUDI_API IGslSvc : virtual public IService {
19 public:
22 
29  typedef void (*GslErrorHandler)
30  ( const char* /* reason */ ,
31  const char* /* file */ ,
32  int /* line */ ,
33  int /* code */ );
34 
40  virtual StatusCode handle
41  ( const GslError& error ) const = 0 ;
42 
46  virtual GslErrorHandler handler () const = 0 ;
47 
52  virtual GslErrorHandler setHandler ( GslErrorHandler handler ) const = 0 ;
53 
58  virtual StatusCode status ( const int error ) const = 0 ;
59 
60 protected:
61 
63  virtual ~IGslSvc(){}
64 
65 };
66 
67 // ============================================================================
68 // The END
69 // ============================================================================
70 #endif // GAUDIGSL_IGSLSVC_H
71 // ============================================================================
Helper class to represent GSL errors.
Definition: GslError.h:17
The abstract interface to "deal" with GNU Scientific Library (GLS) The main task is the error handlin...
Definition: IGslSvc.h:18
DeclareInterfaceID(IService, 3, 0)
InterfaceID.
General service interface definition.
Definition: IService.h:19
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
virtual ~IGslSvc()
destructor (virtual and protected)
Definition: IGslSvc.h:63
#define GAUDI_API
Definition: Kernel.h:108