| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 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 parseFilter(const std::string& str, std::string& fnc, std::string& lib);
    00041   void filterFnc(const std::string&);
    00042   void filterLib(const std::string&);
    00043
    00044   // Allow SvcFactory to instantiate the service.
    00045   friend class SvcFactory<StatusCodeSvc>;
    00046
    00047   StringArrayProperty m_pFilter;
    00048   BooleanProperty m_abort, m_suppress, m_dict;
    00049
    00050   std::map<std::string,StatCodeDat> m_dat;
    00051   std::set<std::string> m_filterfnc, m_filterlib;
    00052
    00053
    00054 };
    00055
    00056 #endif