00001 #ifndef agwsCON_MAIN_TASK_H
00002 #define agwsCON_MAIN_TASK_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 #ifndef __cplusplus
00044 #error This is a C++ include file and cannot be used from plain C
00045 #endif
00046
00047 #include "agws.h"
00048 #include "agwsCMD_HANDLER.h"
00049 #include "agwsCON_CAT.h"
00050 #include "agwsCON_CHECK.h"
00051 #include "agwsCON_SETUP.h"
00052 #include "agwsCON_SERVER.h"
00053 #include "agwsCON_ADAPTER.h"
00054
00055 class agwsCON_MAIN_TASK : public evhDB_TASK
00056 {
00057 public:
00058 agwsCON_MAIN_TASK(const dbSYMADDRESS dbPoint,
00059 agwsCON_ADAPTER &conAdapter,
00060 agwsCON_CHECK &conCheck,
00061 agwsCON_CAT &conCat,
00062 agwsCON_SERVER &conServer,
00063 agwsCON_SETUP &conSetup);
00064
00065 virtual ~agwsCON_MAIN_TASK();
00066 virtual ccsCOMPL_STAT Init();
00067 virtual ccsCOMPL_STAT Reset(msgMESSAGE &msg, void *);
00068 virtual ccsCOMPL_STAT Recover();
00069 virtual vltLOGICAL CheckStateStopGuiding (msgMESSAGE &msg);
00070 virtual vltLOGICAL CheckStateStartGuiding (msgMESSAGE &msg, const char *modestr);
00071 virtual ccsCOMPL_STAT StartAgFitsLog();
00072
00073
00074 virtual evhCB_COMPL_STAT InitCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00075 virtual evhCB_COMPL_STAT ExitCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00076 virtual evhCB_COMPL_STAT ExitOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00077 virtual evhCB_COMPL_STAT StopCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00078 virtual evhCB_COMPL_STAT OnlineCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00079 virtual evhCB_COMPL_STAT StandbyCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00080 virtual evhCB_COMPL_STAT StandbyOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00081 virtual evhCB_COMPL_STAT OffCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00082 virtual evhCB_COMPL_STAT OffOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00083 virtual evhCB_COMPL_STAT StopReplyCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00084 virtual evhCB_COMPL_STAT StopErrorCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00085
00086
00087 virtual evhCB_COMPL_STAT StartAgCB(msgMESSAGE &msg, agwsCMD_HANDLER &);
00088 virtual evhCB_COMPL_STAT StartAgStopTccdOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &);
00089 virtual evhCB_COMPL_STAT StartAgSetupOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00090 virtual evhCB_COMPL_STAT StartAgOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00091 virtual evhCB_COMPL_STAT StopAgCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00092 virtual evhCB_COMPL_STAT StopAgStrtTccdCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00093 virtual evhCB_COMPL_STAT StopAg(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00094 virtual evhCB_COMPL_STAT StopAgReplyCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00095 virtual evhCB_COMPL_STAT PrToGsCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00096
00097
00098
00099
00100 virtual evhCB_COMPL_STAT DetGsCB(msgMESSAGE &msg,
00101 agwsCMD_HANDLER &handler);
00102 virtual evhCB_COMPL_STAT DetGsSetupOkCB(msgMESSAGE &msg,
00103 agwsCMD_HANDLER &handler);
00104 virtual evhCB_COMPL_STAT DetGsTccdOkCB(msgMESSAGE &msg,
00105 agwsCMD_HANDLER &handler);
00106 virtual evhCB_COMPL_STAT DetGsRestoreSetupCB(msgMESSAGE &msg,
00107 agwsCMD_HANDLER &cmdHandler);
00108
00109 virtual evhCB_COMPL_STAT Pr2StarCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00110 virtual evhCB_COMPL_STAT Star2PrCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00111 virtual evhCB_COMPL_STAT Tel2ObjCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00112 virtual evhCB_COMPL_STAT XY2ADOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00113 virtual evhCB_COMPL_STAT XY2ADAgOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00114 virtual evhCB_COMPL_STAT XY2ADAgDetGsOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00115 virtual evhCB_COMPL_STAT CntObjCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00116 virtual evhCB_COMPL_STAT CntObjProbeOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00117 virtual evhCB_COMPL_STAT CntObjSetupOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00118 virtual evhCB_COMPL_STAT CntObjTccdOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00119 virtual evhCB_COMPL_STAT CntObjOffsetOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00120 virtual evhCB_COMPL_STAT RelaxCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00121 virtual evhCB_COMPL_STAT RelaxStopTccdOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &);
00122 virtual evhCB_COMPL_STAT RelaxSetupOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00123 virtual evhCB_COMPL_STAT RelaxTccdOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00124 virtual evhCB_COMPL_STAT DetGsStopTccdOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00125 virtual evhCB_COMPL_STAT DetGsStartTccdOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00126 virtual evhCB_COMPL_STAT DetGpInPosOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00127
00128 virtual evhCB_COMPL_STAT OffsAgCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00129
00130 virtual evhCB_COMPL_STAT StrtTccdCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00131 virtual evhCB_COMPL_STAT StrtTccdSetupOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00132 virtual evhCB_COMPL_STAT StopTccdCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00133
00134 virtual evhCB_COMPL_STAT GeneralOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &cmdHandler);
00135 virtual evhCB_COMPL_STAT GeneralErrorCB(msgMESSAGE &msg, agwsCMD_HANDLER &cmdHandler);
00136
00137 virtual evhCB_COMPL_STAT SetupSaveAndOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &cmdHandler);
00138 virtual evhCB_COMPL_STAT SetupReloadAndErrorCB(msgMESSAGE &msg, agwsCMD_HANDLER &cmdHandler);
00139
00140
00141 agwsCON_ADAPTER &agwsConAdapter;
00142 agwsCON_CHECK &agwsConCheck;
00143 agwsCON_CAT &agwsConCat;
00144 agwsCON_SERVER &agwsConServer;
00145 agwsCON_SETUP &agwsConSetup;
00146
00147 vltDOUBLE relaxMaxError;
00148 vltINT32 relaxLoopCount, relaxLoopMax;
00149 private:
00150
00151 ccsCOMPL_STAT SendSetup(evhCB_METHOD mtd,
00152 agwsCMD_HANDLER &handler);
00153
00154
00155
00156
00157 agwsCMD_HANDLER startAgCmdHandler;
00158 agwsCMD_HANDLER stopAgCmdHandler;
00159 agwsCMD_HANDLER prToGsCmdHandler;
00160 agwsCMD_HANDLER detGsCmdHandler;
00161 agwsCMD_HANDLER pr2StarCmdHandler;
00162 agwsCMD_HANDLER star2PrCmdHandler;
00163 agwsCMD_HANDLER tel2objCmdHandler;
00164 agwsCMD_HANDLER cntObjCmdHandler;
00165 agwsCMD_HANDLER relaxCmdHandler;
00166 agwsCMD_HANDLER offsagCmdHandler;
00167
00168 agwsCMD_HANDLER initCmdHandler;
00169 agwsCMD_HANDLER exitCmdHandler;
00170 agwsCMD_HANDLER stopCmdHandler;
00171 agwsCMD_HANDLER onlineCmdHandler;
00172 agwsCMD_HANDLER standbyCmdHandler;
00173 agwsCMD_HANDLER offCmdHandler;
00174
00175 agwsCMD_HANDLER strtccdCmdHandler;
00176 agwsCMD_HANDLER stopccdCmdHandler;
00177
00178 vltINT32 stopReplyCount;
00179
00180
00181 vltLOGICAL restartDetgsTccd;
00182
00183
00184 vltINT32 detgsWindowSize ;
00185 vltINT32 detgsOrigWindowSize;
00186 vltDOUBLE detgsIntTime;
00187 vltDOUBLE detgsOrigIntTime;
00188 char checkGp[4];
00189
00190 agwsTRANSFER gpInPosCmd;
00191 agwsTRANSFER setlimCmd;
00192 };
00193
00194
00195 #endif