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
00051 virtual void exitRunning();
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064 virtual int startaction ();
00065
00066
00067
00068
00069 virtual int unloadaction ();
00070 virtual int configaction ();
00071
00075 void sctApiError(ErrorState state, const string& reason);
00076
00077 private:
00078 RunControl();
00079 CalibrationControllerImpl& cc;
00080 Sct_SctApi_T_SctApi* api;
00081
00082 };
00083
00084 }
00085
00086 #endif //SCTCALIBRATIONRUNCONTROLLER_H