ConfigUpdaterManager.h

00001 #ifndef SCTCALIBRATIONCONTROLLER_CONFIGUPDATERMANAGER_H
00002 #define SCTCALIBRATIONCONTROLLER_CONFIGUPDATERMANAGER_H
00003 
00004 #include <string>
00005 #include <map>
00006 #include <boost/shared_ptr.hpp>
00007 #include "Sct_SctApi/SctApi.hh"
00008 
00009 using std::map;
00010 using std::string;
00011 using boost::shared_ptr;
00012 
00013 
00014 namespace SctData {
00015 class TestResult;
00016 }
00017 
00018 
00019 namespace SctCalibrationController {
00020     
00021 class ConfigUpdater;
00022     
00029 class ConfigUpdaterManager {
00030 public:
00035     static ConfigUpdaterManager& instance();
00036     
00043     void update(const SctData::TestResult& t, Sct_SctApi::SctApiIPC_ptr api, bool force=false) const;
00044     
00049     ConfigUpdater& getUpdater(const string& className) const;
00050     
00058     bool setUpdater(const string& testName, shared_ptr<ConfigUpdater> updater);
00059     
00060 private:
00061     ConfigUpdaterManager();                                          
00062         
00063     typedef map<string, shared_ptr<ConfigUpdater> > ConfigUpdaterMap;    
00064     ConfigUpdaterMap updaterMap;                     
00065 };
00066 }
00067 
00068 #endif //SCTCALIBRATIONCONTROLLER_CONFIGUPDATERMANAGER_H

Generated on Mon Feb 6 14:01:18 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6