| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# GslSvc.h

Go to the documentation of this file.

    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 // ============================================================================