00001 #ifndef SCTCALIBRATIONRUNCONTROLLER_H
00002 #define SCTCALIBRATIONRUNCONTROLLER_H
00003
00004 #ifdef linux
00005 #undef linux
00006 #endif
00007
00008 #include <rc/rc_interface.h>
00009 #include <boost/utility.hpp>
00010 #include <string>
00011
00012 using std::string;
00013
00014 class Sct_SctApi_T_SctApi;
00015
00016 namespace SctCalibrationController {
00017
00018 class CalibrationControllerImpl;
00019
00020 class RunControl : public rc_interface, boost::noncopyable {
00021 public:
00022 enum ErrorState {
00023 SCTAPI_ACCESS_FAILURE
00024 };
00025
00026 static RunControl& instance();
00027
00028
00029
00030
00031
00032 virtual int resetaction ();
00033
00034
00035
00036
00041 virtual int loadaction ();
00042
00043
00044
00045
00046
00047
00048
00049
00050 virtual void enterRunning();
00051 virtual void exitRunning();
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061 virtual void enterConfigured();
00062
00063
00064
00065
00066
00067
00068
00069
00070 virtual int unloadaction ();
00071
00072
00076 void sctApiError(ErrorState state, const string& reason);
00077
00078 private:
00079 RunControl();
00080 CalibrationControllerImpl& cc;
00081 Sct_SctApi_T_SctApi* api;
00082
00083 };
00084
00085 }
00086
00087 #endif //SCTCALIBRATIONRUNCONTROLLER_H