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 } // end of namespace CallibrationController 00056 00057 #endif