00001 #ifndef prsSEQ_MAIN_TASK_H
00002 #define prsSEQ_MAIN_TASK_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __cplusplus
00024 #error This is a C++ include file and cannot be used from plain C
00025 #endif
00026
00027 #include "prs.h"
00028 #include "evhDB_TASK.h"
00029 #include "evhSTD_COMMANDS.h"
00030 #include "evhDB_COMMAND.h"
00031
00032
00033
00034 #define prsNOMOVE 0
00035 #define prsMOVE 1
00036
00037
00038 class prsSEQ_MAIN_TASK : public evhDB_TASK
00039 {
00040 public:
00041 prsSEQ_MAIN_TASK(const dbSYMADDRESS dbPoint);
00042 ~prsSEQ_MAIN_TASK();
00043
00044
00045 virtual evhCB_COMPL_STAT CenterObjCB(msgMESSAGE &msg, void *udata);
00046 virtual evhCB_COMPL_STAT ClearReadySetupCB(msgMESSAGE &msg, void *udata);
00047
00048 virtual evhCB_COMPL_STAT PrsAltAzCB(msgMESSAGE &msg, void *udata);
00049 virtual evhCB_COMPL_STAT PrsCoordCB(msgMESSAGE &msg, void *udata);
00050 virtual evhCB_COMPL_STAT PrsNamedPosCB(msgMESSAGE &msg, void *udata);
00051 virtual evhCB_COMPL_STAT SetupCB(msgMESSAGE &msg, void *udata);
00052 virtual evhCB_COMPL_STAT StopCB(msgMESSAGE &msg, void *udata);
00053 virtual evhCB_COMPL_STAT SaveCurrSetupCB(msgMESSAGE &msg, void *udata);
00054 virtual evhCB_COMPL_STAT SaveReadySetupCB(msgMESSAGE &msg, void *udata);
00055
00056
00057 virtual evhCB_COMPL_STAT ExitCB(msgMESSAGE &msg, void *udata);
00058 virtual evhCB_COMPL_STAT InitCB(msgMESSAGE &msg, void *udata);
00059 virtual evhCB_COMPL_STAT OnlineCB(msgMESSAGE &msg, void *udata);
00060
00061 ccsCOMPL_STAT Init();
00062 ccsCOMPL_STAT Recover();
00063
00064 protected:
00065 virtual evhCB_COMPL_STAT Execute(msgMESSAGE &msg,
00066 vltLOGICAL moveFlag=prsMOVE);
00067 virtual evhCB_COMPL_STAT ExeReadyCB(msgMESSAGE &msg, void *udata);
00068 virtual evhCB_COMPL_STAT ExeErrorCB(msgMESSAGE &msg, void *udata);
00069
00070 virtual evhCB_COMPL_STAT StopOKCB(msgMESSAGE &msg, void *udata);
00071 virtual evhCB_COMPL_STAT StopErrorCB(msgMESSAGE &msg, void *udata);
00072
00073 ccsCOMPL_STAT RejectIfNotOnline(msgMESSAGE &msg, vltLOGICAL *rejected);
00074
00075 oslxSETUP *readySetupFile;
00076 oslxSETUP *checkSetupFile;
00077 evhDB_COMMAND stopCmd;
00078 evhDB_COMMAND presetCmd;
00079
00080 private:
00081 msgMESSAGE stopMsg;
00082 msgMESSAGE setupMsg;
00083
00084
00085 vltBYTES64 readySetup;
00086 vltBYTES64 defaultSetup;
00087 vltBYTES64 currentSetup;
00088 vltBYTES64 setupDictionary;
00089 vltBYTES64 setupAliasTable;
00090 vltINT32 readyTimeout;
00091 vltINT32 stopTimeout;
00092 };
00093
00094
00095 #endif