Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

prsAH_MAIN_TASK.h

Go to the documentation of this file.
00001 #ifndef prsAH_MAIN_TASK_H
00002 #define prsAH_MAIN_TASK_H
00003 /*******************************************************************************
00004 * E.S.O. - VLT project
00005 *
00006 * "@(#) $Id: prsAH_MAIN_TASK.h,v 1.109 2003/11/12 08:55:19 vltsccm Exp $"
00007 *
00008 * who       when      what
00009 * --------  --------  ----------------------------------------------
00010 * tcsmgr  22/10/98  Factorised Reset() of objects to allow extensions in subclass
00011 * gchiozzi  31/07/96  Added OnlineCB
00012 * gchiozzi  01/08/95  Class prsDB_SYNC_... moved in "tcs" module  
00013 * gchiozzi  28/04/95  created
00014 */
00015 
00016 /************************************************************************
00017  *
00018  *----------------------------------------------------------------------
00019  */
00020 
00021 #ifndef __cplusplus
00022 #error This is a C++ include file and cannot be used from plain C
00023 #endif
00024 
00025 #include "prs.h"
00026 #include "evhDB_TASK.h"
00027 #include "evhCOMMAND.h"
00028 #include "fndSTRING.h"
00029 
00030 
00031 #include "prsAH_TRACK.h"
00032 #include "prsAH_GUIDE.h"
00033 #include "prsAH_AO.h"
00034 #include "prsAH_STD_MOD.h"
00035 #include "tcsDB_SYNC_ERR_CHECK.h"
00036 
00037 class prsAH_MAIN_TASK : public evhDB_TASK
00038 {
00039   public:
00040     prsAH_MAIN_TASK(const dbSYMADDRESS  dbPoint,
00041                     prsAH_TRACK   &track, 
00042         prsAH_GUIDE   &guide, 
00043         prsAH_AO      &ao, 
00044         prsAH_STD_MOD &stdMod);   
00045    ~prsAH_MAIN_TASK();
00046 
00047     virtual evhCB_COMPL_STAT ExitCB(msgMESSAGE &msg, void *udata);
00048     virtual evhCB_COMPL_STAT InitCB(msgMESSAGE &msg, void *udata);
00049     virtual evhCB_COMPL_STAT OnlineCB(msgMESSAGE &msg, void *udata);
00050     virtual evhCB_COMPL_STAT PresetCB(msgMESSAGE &msg, void *udata);
00051     virtual evhCB_COMPL_STAT SaveCurrSetupCB(msgMESSAGE &msg, void *udata);
00052     virtual evhCB_COMPL_STAT StopCB(msgMESSAGE &msg, void *udata);
00053 
00054     ccsCOMPL_STAT    Init();
00055     ccsCOMPL_STAT    Recover();
00056 
00057     vltINT32  ReadyTimeout();
00058     vltINT32  ModeSwitchTimeout();
00059     
00060   protected:
00061     virtual evhCB_COMPL_STAT  ExePresetCB(msgMESSAGE &msg, void *udata) = 0;
00062     virtual evhCB_COMPL_STAT  ErrorSwitchModeCB(msgMESSAGE &msg, void *udata);
00063 
00064     virtual evhCB_COMPL_STAT  ReadyCB(msgMESSAGE &msg, void *udata);
00065     virtual evhCB_COMPL_STAT  ErrorCB(msgMESSAGE &msg, void *udata);
00066 
00067     virtual evhCB_COMPL_STAT  StopOKCB(msgMESSAGE &msg, void *udata);
00068     virtual evhCB_COMPL_STAT  ErrorStopCB(msgMESSAGE &msg, void *udata);
00069 
00070     virtual ccsCOMPL_STAT     PresetAbort(vltINT16 errorNumber);
00071 
00072     virtual ccsCOMPL_STAT     PresetAbortPermitted (vltLOGICAL &permitted, fndSTRING &reason);
00073 
00074     virtual ccsCOMPL_STAT     Reset();
00075 
00076   protected:
00077     prsAH_TRACK   &track; 
00078     prsAH_GUIDE   &guide;
00079     prsAH_AO      &ao;
00080     prsAH_STD_MOD &stdMod;
00081 
00082     evhDB_COMMAND  switchMode;
00083     evhDB_COMMAND  switchModeEnd;
00084     tcsDB_SYNC_ERR_CHECK     waitAllReady; 
00085     tcsDB_SYNC_ERR_CHECK     waitStopReady; 
00086 
00087     oslxSETUP  *currentSetupFile;
00088 
00089   private:
00090     msgMESSAGE     presetMsg;
00091     msgMESSAGE     objectMsg;
00092 
00093     vltBYTES64   currentSetup;
00094     vltINT32     readyTimeout;
00095     vltINT32     modeSwitchTimeout;
00096 };
00097 
00098 
00099 #endif 

Generated on Wed Dec 3 14:52:18 2003 for ATCS API by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001