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 ~RunControl(); 00028 private: 00030 void doSave(const std::string& suffix); 00031 RunControl(SctConfiguration::Configuration& c); 00032 RunControl(); 00033 Sct_SctApi::SctApiIPC_var getApi(); 00034 SctConfiguration::Configuration* config; 00035 }; 00036 00037 } 00038 00039 #endif //SCTCONFIGURATIONRUNCONTROLLER_H