GslSvc.h
Go to the documentation of this file.00001
00002
00003 #ifndef GAUDIGSL_GSLSVC_H
00004 #define GAUDIGSL_GSLSVC_H 1
00005
00006
00007 #include <vector>
00008 #include <string>
00009
00010 #include "GaudiKernel/Service.h"
00011
00012
00013 #include "GaudiGSL/IGslSvc.h"
00014 #include "GaudiGSL/GslError.h"
00015
00016
00017 template <class TYPE> class SvcFactory ;
00018 class IGslErrorHandler ;
00019
00086 class GslSvc: public extends1<Service, IGslSvc> {
00088 friend class SvcFactory<GslSvc>;
00089
00090 public:
00091
00097 virtual StatusCode handle ( const GslError& error ) const ;
00098
00103 virtual GslErrorHandler handler () const ;
00104
00110 virtual GslErrorHandler setHandler ( GslErrorHandler handler ) const ;
00111
00117 virtual StatusCode status ( const int error ) const ;
00118
00125 virtual StatusCode initialize () ;
00126
00133 virtual StatusCode finalize () ;
00134
00140 GslSvc ( const std::string& name ,
00141 ISvcLocator* svc );
00142
00144 virtual ~GslSvc() ;
00145
00146 private:
00147
00149 GslSvc();
00151 GslSvc ( const GslSvc& );
00153 GslSvc& operator= ( const GslSvc& );
00154
00155 private:
00156
00158 std::string m_errorPolicy ;
00159
00161 typedef std::vector<std::string> Names ;
00162 Names m_handlersTypeNames ;
00163 typedef std::vector<IGslErrorHandler*> Handlers ;
00164 Handlers m_handlers ;
00165
00167 std::vector<int> m_ignore ;
00168
00169 };
00170
00171
00172
00173
00174 #endif // GAUDIGSL_GSLSVC_H
00175