|
Gaudi Framework, version v21r8 |
| Home | Generated: 17 Mar 2010 |
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