![]() |
|
|
Generated: 8 Jan 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 : 00087 public virtual IGslSvc , 00088 public Service 00089 { 00091 friend class SvcFactory<GslSvc>; 00092 00093 public: 00094 00100 virtual StatusCode handle ( const GslError& error ) const ; 00101 00106 virtual GslErrorHandler handler () const ; 00107 00113 virtual GslErrorHandler setHandler ( GslErrorHandler handler ) const ; 00114 00120 virtual StatusCode status ( const int error ) const ; 00121 00128 virtual StatusCode initialize () ; 00129 00136 virtual StatusCode finalize () ; 00137 00147 virtual StatusCode queryInterface 00148 ( const InterfaceID& iid , 00149 void** ppi ) ; 00150 00156 GslSvc ( const std::string& name , 00157 ISvcLocator* svc ); 00158 00160 virtual ~GslSvc() ; 00161 00162 private: 00163 00165 GslSvc(); 00167 GslSvc ( const GslSvc& ); 00169 GslSvc& operator= ( const GslSvc& ); 00170 00171 private: 00172 00174 std::string m_errorPolicy ; 00175 00177 typedef std::vector<std::string> Names ; 00178 Names m_handlersTypeNames ; 00179 typedef std::vector<IGslErrorHandler*> Handlers ; 00180 Handlers m_handlers ; 00181 00183 std::vector<int> m_ignore ; 00184 00185 }; 00186 00187 // ============================================================================ 00188 // The END 00189 // ============================================================================ 00190 #endif // GAUDIGSL_GSLSVC_H 00191 // ============================================================================