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

mswCHANGE_FOCUS_VLT.h

Go to the documentation of this file.
00001 #ifndef mswCHANGE_FOCUS_VLT_H
00002 #define mswCHANGE_FOCUS_VLT_H
00003 /*******************************************************************************
00004 * E.S.O. - VLT project
00005 *
00006 * "@(#) $Id: mswCHANGE_FOCUS_VLT.h,v 1.115 2003/11/12 14:33:34 vltsccm Exp $"
00007 *
00008 * who       when      what
00009 * --------  --------  ----------------------------------------------
00010 * tphan     14/03/99  added trkws
00011 * pduhoux   03/11/98  Removed M1 object since unsused
00012 * gchiozzi  26/11/97  Added ReadMirrorsPos() method
00013 * mverola   03/04/96  Added Execute, EndM3CmdCB, ErrorM3CmdCB
00014 * awalland  07/06/95  created
00015 */
00016 
00017 /************************************************************************
00018  *
00019  *----------------------------------------------------------------------
00020  */
00021 
00022 #ifndef __cplusplus
00023 #error This is a C++ include file and cannot be used from plain C
00024 #endif
00025 
00026 #include "mswCHANGE_FOCUS.h"
00027 
00028 #include "mswM3.h"
00029 #include "mswM4.h"
00030 #include "mswADROT.h"
00031 #include "mswADC.h"
00032 #include "mswALT.h"
00033 #include "mswTRKWS.h"
00034 
00035 #include "tcsDB_SYNC_ERR_CHECK.h"
00036 
00037 #define READY_TIMEOUT     ".readyTimeout"
00038 
00039 class mswCHANGE_FOCUS_VLT : public mswCHANGE_FOCUS
00040 {
00041   public:
00042     mswCHANGE_FOCUS_VLT(const dbSYMADDRESS  dbName,
00043       mswMOD_LIST_MANAGER &listManager);
00044     ~mswCHANGE_FOCUS_VLT();
00045 
00046     virtual ccsCOMPL_STAT  Init();
00047 
00048     // This method overrides the pure virtual parent method
00049     virtual ccsCOMPL_STAT  Execute(msgMESSAGE &msg);
00050     virtual ccsCOMPL_STAT  ReadMirrorsPos(vltINT32 *currFoc);
00051     virtual ccsCOMPL_STAT  CheckModeSwitchingState(vltINT32 actState,
00052                vltINT32 actSubState);
00053 
00054   protected:
00055     evhCB_COMPL_STAT ExecuteCB(msgMESSAGE &msg, void *);
00056 
00057     ccsCOMPL_STAT    FocusStandby();
00058     evhCB_COMPL_STAT FocusStandbyCB(msgMESSAGE &msg, void *);
00059 
00060     ccsCOMPL_STAT    ParkAdc();
00061     evhCB_COMPL_STAT ParkAdcCB(msgMESSAGE &msg, void *);
00062 
00063     ccsCOMPL_STAT    SwitchFocus();
00064     evhCB_COMPL_STAT SwitchFocusCB(msgMESSAGE &msg, void *);
00065 
00066     ccsCOMPL_STAT    FocusOnline();
00067     evhCB_COMPL_STAT FocusOnlineCB(msgMESSAGE &msg, void *);
00068 
00069     ccsCOMPL_STAT    FocusStatus();
00070     evhCB_COMPL_STAT FocusStatusCB(msgMESSAGE &msg, void *);
00071 
00072     ccsCOMPL_STAT    InitOnChangeFocus();
00073 
00074     ccsCOMPL_STAT    Focus(vltINT32  focus);
00075     ccsCOMPL_STAT    Focus(vltINT32 *focus);
00076 
00077     ccsCOMPL_STAT    LoadChangeFocusModules();
00078     ccsCOMPL_STAT    LoadModuleData(const char *point, 
00079             const char *name,
00080             const mswMOD_RECORD_ARRAY &modArray);
00081 
00082   protected:
00083     vltINT32 actFocus,newFocus;
00084 
00085     mswM3   m3;
00086     mswM4   m4;
00087     mswADROT adapter;
00088     mswADC  adc;
00089     mswALT  alt;
00090     mswTRKWS  trkws;
00091 
00092     tcsDB_SYNC_ERR_CHECK waitParkAdcReady;
00093     tcsDB_SYNC_ERR_CHECK waitSwitchFocusReady;
00094     tcsDB_SYNC_ERR_CHECK waitFocusStatusReady;
00095 
00096   private:
00097     vltINT32        readyTimeout;
00098 
00099     eccsERROR       executeErrorStack;
00100     eccsERROR_CLASS executeErrorClass;
00101 };
00102 
00103 #endif 

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