Diagnostics.h

Go to the documentation of this file.
00001 // Copyright CERN 2012 - Developed in collaboration with GSI
00002 
00003 #ifndef _DIAGNOSTICS_H_
00004 #define _DIAGNOSTICS_H_
00005 
00006 #include <fesa-core/Diagnostic/FrameworkDiagnostics.h>
00007 #include <fesa-core/Diagnostic/DiagnosticUtils.h>
00008 
00009 #include <boost/shared_ptr.hpp>
00010 
00011 namespace fesa
00012 {
00013 
00014 class AbstractUserDiagnostics;
00015 
00019 class Diagnostics
00020 {
00021   public:
00027     Diagnostics(const FrameworkDiagnostics& frameworkDiagnostics, const boost::shared_ptr<AbstractUserDiagnostics>& userDiagnostics);
00031     ~Diagnostics();
00037     const DiagnosticUtils::DiagnosticTopics& getTopics(DiagnosticUtils::Side side) const;
00043     void log(const std::string& topic, DiagnosticUtils::DiagnosticMessage& diagMsg);
00049     void enable(DiagnosticUtils::Side side, const std::string& topic) const;
00055     void disable(DiagnosticUtils::Side side, const std::string& topic) const;
00056 
00057   private:
00058     FrameworkDiagnostics frameworkDiagnostics_;
00059     boost::shared_ptr<AbstractUserDiagnostics> userDiagnostics_;
00060 
00061     Diagnostics(const Diagnostics& diagnostics);
00062     Diagnostics& operator=(const Diagnostics& diagnostics);
00063 };
00064 
00065 } // fesa
00066 
00067 #endif // _DIAGNOSTICS_H_

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1