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

mswCONTROL_MAIN.h

Go to the documentation of this file.
00001 #ifndef mswCONTROL_MAIN_H
00002 #define mswCONTROL_MAIN_H
00003 /*******************************************************************************
00004 * E.S.O. - VLT project
00005 *
00006 * "@(#) $Id: mswCONTROL_MAIN.h,v 1.115 2003/11/12 14:33:35 vltsccm Exp $"
00007 *
00008 * who       when      what
00009 * --------  --------  ----------------------------------------------
00010 * rkarban 2000-10-27 make destructor virtual
00011 * gchiozzi  17/02/97  Added members to handle instrument config data handling
00012 * gchiozzi  30/10/96  Added callbacks to handle M1 Force Setting
00013 * gchiozzi  28/06/96  Fixed handling of multi-step commands
00014 * gchiozzi  27/06/96  Added phase mode to BroadcaseCommand()
00015 * mverola   09/04/96  Changed MswErrorCB 
00016 *                     Added ActivateSyncObj,GetState,SetSubState,
00017 *                      CommandInProgress,BroadcastCommand,EndTcsChangeFocusCB
00018 * tphan     19/10/95  Add readyTimeout and stopTimeout into private
00019 * gchiozzi  07/09/95  Moved StatusCB() in mswSTD_COMMANDS.h
00020 * gchiozzi  29/08/95  Added ExitCB methos
00021 * gchiozzi  29/08/95  Removed version command
00022 * gchiozzi  29/08/95  Added InitCB() and Recover() methods
00023 * gchiozzi  30/03/95  created
00024 * awalland  10/08/95  added most commands
00025 */
00026 
00027 /************************************************************************
00028  *
00029  *----------------------------------------------------------------------
00030  */
00031 
00032 #ifndef __cplusplus
00033 #error This is a C++ include file and cannot be used from plain C
00034 #endif
00035 
00036 #include "mswCHANGE_FOCUS.h"
00037 #include "mswCONTROL.h"
00038 
00039 
00040 class mswCONTROL_MAIN : public mswCONTROL
00041 {
00042   public:
00043     mswCONTROL_MAIN(mswMOD_LIST_MANAGER &listManager,
00044         mswINS_CONFIG_TABLE &insTable,
00045                     mswEVAL_STATE       &eval,
00046                     mswCHANGE_FOCUS     &changeFoc);
00047 
00048     mswCONTROL_MAIN(const dbSYMADDRESS  dbPoint,
00049                     mswMOD_LIST_MANAGER &listManager,
00050         mswINS_CONFIG_TABLE &insTable,
00051                     mswEVAL_STATE       &eval,
00052                     mswCHANGE_FOCUS     &changeFoc);
00053     virtual ~mswCONTROL_MAIN();
00054                     
00055     
00056     virtual ccsCOMPL_STAT Init();  
00057 
00058   protected:
00059     virtual evhCB_COMPL_STAT GetInsCB            (msgMESSAGE &msg, void *udata);
00060     virtual evhCB_COMPL_STAT GetInsDataCB        (msgMESSAGE &msg, void *udata);
00061     virtual evhCB_COMPL_STAT SetInsDataCB        (msgMESSAGE &msg, void *udata);
00062     virtual evhCB_COMPL_STAT TcsChangeFocusCB    (msgMESSAGE &msg, void *udata);
00063     virtual evhCB_COMPL_STAT EndTcsChangeFocusCB (msgMESSAGE &msg, void *udata);
00064     virtual evhCB_COMPL_STAT TcsPermForceSetCB   (msgMESSAGE &msg, void *udata);
00065     virtual evhCB_COMPL_STAT TcsRelForceSetCB    (msgMESSAGE &msg, void *udata);
00066 
00067     vltLOGICAL       IsSelectIntrument(msgMESSAGE &msg);
00068     vltLOGICAL       ForceSetting();
00069     mswCONTROL &ForceSetting(const vltLOGICAL);
00070 
00071   private:
00072     // don't make it virtual because each class has its version it has to use at construction time
00073     ccsCOMPL_STAT ConstructorInit();
00074 
00075     mswINS_CONFIG_TABLE   &insTable;
00076     mswCHANGE_FOCUS       &changeFocus;
00077 };
00078 
00079 #include "mswCONTROL_MAIN.icc"
00080 
00081 #endif 

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