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