00001 #ifndef GAUDIKERNEL_MODULEINCIDENT_H 00002 #define GAUDIKERNEL_MODULEINCIDENT_H 00003 00004 // Include files 00005 #include <string> 00006 #include "GaudiKernel/Incident.h" 00007 00014 class ModuleIncident : public Incident { 00015 protected: 00017 00018 ModuleIncident(const std::string& source, // Source(service or alg) name) 00019 const std::string& type, // Type (load, unload, ...) 00020 const std::string& module // module(DLL) in question 00021 ) : Incident(source, type), m_module(module) { } 00022 virtual ~ModuleIncident() { } 00024 00025 public: 00027 00028 using Incident::type; 00029 using Incident::source; 00031 const std::string& module() const { return m_module; } 00033 private: 00035 std::string m_module; 00036 }; 00037 00044 class ModuleLoadedIncident : public ModuleIncident { 00045 public: 00046 static std::string TYPE() { return std::string("ModuleLoaded"); } 00047 ModuleLoadedIncident(const std::string& source, // Source(service or alg) name) 00048 const std::string& module // module(DLL) in question 00049 ) : ModuleIncident(source, TYPE(), module) { } 00050 }; 00051 00052 #endif //GAUDIKERNEL_MODULEINCIDENT_H 00053