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