| # Gaudi Framework, version v21r9 |

Home |  | Generated: 3 May 2010

# 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 extends1<Service, IStatusCodeSvc> {
    00015
    00016 public:
    00017
    00018   virtual StatusCode initialize();
    00019   virtual StatusCode reinitialize();
    00020   virtual StatusCode finalize();
    00021
    00022   virtual void regFnc(const std::string &func, const std::string &lib);
    00023   virtual void list() const;
    00024   virtual bool suppressCheck() const { return m_suppress.value() ; }
    00025
    00026   StatusCodeSvc( const std::string& name, ISvcLocator* svc );
    00027
    00028   // Destructor.
    00029   virtual ~StatusCodeSvc();
    00030
    00031 private:
    00032
    00033   struct StatCodeDat {
    00034     std::string fnc;
    00035     std::string lib;
    00036     int count;
    00037   };
    00038
    00039
    00040   void filterFnc(std::string);
    00041
    00042   // Allow SvcFactory to instantiate the service.
    00043   friend class SvcFactory<StatusCodeSvc>;
    00044
    00045   StringArrayProperty m_pFilter;
    00046   BooleanProperty m_abort;
    00047   BooleanProperty m_suppress;
    00048
    00049   std::map<std::string,StatCodeDat> m_dat;
    00050   std::set<std::string> m_filter;
    00051
    00052
    00053 };
    00054
    00055 #endif