|
Gaudi Framework, version v21r6 |
| Home | Generated: 11 Nov 2009 |
00001 // $Id: GslSvc.h,v 1.2 2006/11/30 10:40:53 mato Exp $ 00002 // ============================================================================ 00003 #ifndef GAUDIGSL_GSLSVC_H 00004 #define GAUDIGSL_GSLSVC_H 1 00005 // Include files 00006 // STD & STL 00007 #include <vector> 00008 #include <string> 00009 // GaudiKernel 00010 #include "GaudiKernel/Service.h" 00011 // Include files 00012 // GaudiGSL 00013 #include "GaudiGSL/IGslSvc.h" 00014 #include "GaudiGSL/GslError.h" 00015 00016 // forward declarations 00017 template <class TYPE> class SvcFactory ; // GaudiKernel 00018 class IGslErrorHandler ; // from GaudiGSL 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 // The END 00173 // ============================================================================ 00174 #endif // GAUDIGSL_GSLSVC_H 00175 // ============================================================================