00001 #ifndef CALIBRATIONCONTROLLERSTATUS_H
00002 #define CALIBRATIONCONTROLLERSTATUS_H
00003
00004 #include <is/info.h>
00005
00006 #include <string>
00007
00008
00009
00010
00011
00018 class CalibrationControllerStatus : public ISInfo {
00019 public:
00020 enum status_E {LOADED,INCONTROL,BUSY,ERROR};
00021
00022
00025 status_E status;
00026
00029 std::string updateOption;
00030
00033 std::string currentSequence;
00034
00037 std::string currentTest;
00038
00041 unsigned long currentScanIndex;
00042
00043
00044 static const ISType & type() {
00045 static const ISType type_ = CalibrationControllerStatus( ).ISInfo::type();
00046 return type_;
00047 }
00048
00049 CalibrationControllerStatus( )
00050 : ISInfo( "CalibrationControllerStatus" )
00051 {
00052 initialize();
00053 }
00054
00055 ~CalibrationControllerStatus(){
00056
00057
00058
00059
00060 }
00061
00062 protected:
00063 CalibrationControllerStatus( const std::string & type )
00064 : ISInfo( type )
00065 {
00066 initialize();
00067 }
00068
00069 void publishGuts( ISostream & out ){
00070 out << status << updateOption << currentSequence << currentTest << currentScanIndex;
00071 }
00072
00073 void refreshGuts( ISistream & in ){
00074 in >> (int&)status >> updateOption >> currentSequence >> currentTest >> currentScanIndex;
00075 }
00076
00077 private:
00078 void initialize()
00079 {
00080 status = LOADED;
00081 updateOption = "UPDATE";
00082
00083
00084
00085
00086 }
00087
00088
00089
00090
00091
00092 };
00093
00094
00095
00096
00097 #endif // CALIBRATIONCONTROLLERSTATUS_H