00001 // Copyright CERN 2012 - Developed in collaboration with GSI 00002 00003 #ifndef _ABSTRACT_USER_DIAGNOSTICS_H_ 00004 #define _ABSTRACT_USER_DIAGNOSTICS_H_ 00005 00006 #include <fesa-core/Diagnostic/DiagnosticUtils.h> 00007 00008 namespace fesa 00009 { 00010 00014 class AbstractUserDiagnostics 00015 { 00016 public: 00020 virtual ~AbstractUserDiagnostics() 00021 { 00022 } 00027 virtual const DiagnosticUtils::DiagnosticTopics& getTopics() const = 0; 00033 virtual void log(const std::string& topic, DiagnosticUtils::DiagnosticMessage& diagMsg) = 0; 00038 virtual void enable(const std::string& topic) const = 0; 00043 virtual void disable(const std::string& topic) const = 0; 00044 00045 protected: 00049 AbstractUserDiagnostics() 00050 { 00051 } 00052 }; 00053 00054 } // fesa 00055 00056 #endif // _ABSTRACT_USER_DIAGNOSTICS_H_