00001 #ifndef SCTCONFIGURATIONRUNCONTROLLER_H 00002 #define SCTCONFIGURATIONRUNCONTROLLER_H 00003 00004 #ifdef linux 00005 #undef linux 00006 #endif 00007 00008 #include <rc/UserRoutines.h> 00009 #include <boost/utility.hpp> 00010 #include <boost/shared_ptr.hpp> 00011 #include <string> 00012 #include "sctConf/configuration.h" 00013 #include "Sct/ConfigurationException.h" 00014 #include "Sct_SctApi/SctApi.hh" 00015 00016 using std::string; 00017 00018 namespace SctConfigurationController { 00019 00021 class RunControl : public RC::UserRoutines, boost::noncopyable { 00022 public: 00023 00024 static RunControl& initialize(SctConfiguration::Configuration& c); 00025 virtual bool prepareAction(); 00026 virtual bool stopEFAction(); 00027 virtual bool loadAction(); 00028 virtual ~RunControl(); 00029 private: 00031 void doSave(const std::string& suffix); 00032 RunControl(SctConfiguration::Configuration& c); 00033 RunControl(); 00034 Sct_SctApi::SctApiIPC_var getApi(); 00035 SctConfiguration::Configuration* config; 00036 }; 00037 00038 } 00039 00040 #endif //SCTCONFIGURATIONRUNCONTROLLER_H