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

# StatusCodeSvc.h

Go to the documentation of this file.

    00001
    00002 #ifndef GAUDISVC_STATUSCODESVC_H
    00003 #define GAUDISVC_STATUSCODESVC_H
    00004
    00005 #include "GaudiKernel/Service.h"
    00006 #include "GaudiKernel/IStatusCodeSvc.h"
    00007
    00008 #include <string>
    00009 #include <map>
    00010 #include <set>
    00011
    00012 template <class TYPE> class SvcFactory;
    00013
    00014 class StatusCodeSvc: public Service,
    00015                      virtual public IStatusCodeSvc {
    00016
    00017 public:
    00018
    00019   virtual StatusCode initialize();
    00020   virtual StatusCode reinitialize();
    00021   virtual StatusCode finalize();
    00022
    00023   // Query the interfaces.
    00024   virtual StatusCode queryInterface( const InterfaceID& riid,
    00025                                      void** ppvInterface );
    00026
    00027   virtual void regFnc(const std::string &func, const std::string &lib);
    00028   virtual void list() const;
    00029   virtual bool suppressCheck() const { return m_suppress.value() ; }
    00030
    00031   StatusCodeSvc( const std::string& name, ISvcLocator* svc );
    00032
    00033   // Destructor.
    00034   virtual ~StatusCodeSvc();
    00035
    00036 private:
    00037
    00038   struct StatCodeDat {
    00039     std::string fnc;
    00040     std::string lib;
    00041     int count;
    00042   };
    00043
    00044
    00045   void filterFnc(std::string);
    00046
    00047   // Allow SvcFactory to instantiate the service.
    00048   friend class SvcFactory<StatusCodeSvc>;
    00049
    00050   StringArrayProperty m_pFilter;
    00051   BooleanProperty m_abort;
    00052   BooleanProperty m_suppress;
    00053
    00054   std::map<std::string,StatCodeDat> m_dat;
    00055   std::set<std::string> m_filter;
    00056
    00057
    00058 };
    00059
    00060 #endif