00001 #ifndef SCT_CALIBRATIONCONTROL_CONFIGUPDATER
00002 #define SCT_CALIBRATIONCONTROL_CONFIGUPDATER
00003
00004 #include <boost/noncopyable.hpp>
00005 #include "SctData/DefectPrototype.h"
00006 #include "Sct_SctApi/SctApi.hh"
00007
00008 namespace SctData {
00009 class TestResult;
00010 class ModuleConfiguration;
00011 class ModuleElement;
00012 }
00013
00014
00015 namespace SctCalibrationController {
00016
00023 class ConfigUpdater : boost::noncopyable {
00024 public:
00030 virtual void update(const SctData::TestResult& t, Sct_SctApi::SctApiIPC_ptr api) const = 0;
00031
00032 protected:
00033 ConfigUpdater(){;}
00034 virtual ~ConfigUpdater(){;}
00035
00040 unsigned long getMID(const SctData::TestResult& t, Sct_SctApi::SctApiIPC_ptr api) const;
00041
00046 void maskChannels(const SctData::TestResult& t, SctData::DefectSeverity s, Sct_SctApi::SctApiIPC_ptr api) const;
00047
00048 private:
00052 void maskChannels(SctData::ModuleConfiguration& config, SctData::ModuleElement element) const;
00053 };
00054
00055 }
00056
00057 #endif