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

mswMOD_LIST_COMMAND.h

Go to the documentation of this file.
00001 #ifndef mswMOD_LIST_COMMAND_H
00002 #define mswMOD_LIST_COMMAND_H
00003 /*******************************************************************************
00004 * E.S.O. - VLT project
00005 *
00006 * "@(#) $Id: mswMOD_LIST_COMMAND.h,v 1.115 2003/11/12 14:33:36 vltsccm Exp $"
00007 *
00008 * who       when      what
00009 * --------  --------  ----------------------------------------------
00010 * gchiozzi  04/04/97  Removed _CACHE subclasses
00011 * gchiozzi  26/06/96  Added handling of START/STOP phase
00012 * awalland  24/04/96  Added SEND_GUIDING option
00013 * gchiozzi  22/01/96  Added CopyConfig() method
00014 * gchiozzi  18/08/95  Put "list" data member private. 
00015 * gchiozzi  11/08/95  Removed method SetMswPoint(), replaced by DbPoint()
00016 * gchiozzi  11/08/95  Removed counter data member: use inherited
00017 * awalland  04/08/95  created
00018 */
00019 
00020 /************************************************************************
00021  *
00022  *----------------------------------------------------------------------
00023  */
00024 #ifndef __cplusplus
00025 #error This is a C++ include file and cannot be used from plain C
00026 #endif
00027 
00028 #include "msw.h"
00029 #include "mswMOD_LIST.h"
00030 #include "evhDB_LIST_COMMAND.h"
00031 
00032 /* Send mode selection for used units */
00033 #define mswSEND_REQUIRED    1
00034 #define mswSEND_TRACKING    2
00035 #define mswSEND_GUIDING     3
00036 #define mswSEND_ONFOCUS     4
00037 #define mswSEND_INITCHFOC   5
00038 
00039 /* Send mode selection for send phase to be used */
00040 #define mswSEND_NO_PHASE     1
00041 #define mswSEND_START_PHASE  2
00042 #define mswSEND_STOP_PHASE   3
00043 
00044 #define mswMOD_LIST_COMMAND_CLASS  \
00045         (classType)mswMOD_LIST_COMMAND::CreateNew
00046 
00047 class mswMOD_LIST_COMMAND : public evhDB_LIST_COMMAND
00048 {
00049   public:
00050     mswMOD_LIST_COMMAND();
00051     mswMOD_LIST_COMMAND(const dbSYMADDRESS  dbPoint);
00052     ~mswMOD_LIST_COMMAND();
00053 
00054     virtual ccsCOMPL_STAT   Send(msgMESSAGE &msg);
00055     virtual ccsCOMPL_STAT   Send(msgMESSAGE &msg, 
00056          const vltINT8 mode, 
00057          const vltINT8 phase = mswSEND_NO_PHASE,
00058          const vltINT8 focus = 0);
00059 
00060     ccsCOMPL_STAT           SetSendMode(const vltINT8 mode, 
00061           const vltINT8 phase = mswSEND_NO_PHASE,
00062           const vltINT8 focus = 0);
00063 
00064     virtual const char     *DbPoint();
00065     virtual ccsCOMPL_STAT   DbPoint(const dbSYMADDRESS  dbPoint);
00066 
00067     mswMOD_LIST *GetList();
00068 
00069     virtual ccsCOMPL_STAT CopyConfig(evhDB_COMMAND &cmd);
00070 
00071     virtual const char *Destination();
00072 
00073     fndStdObjectDef(mswMOD_LIST_COMMAND, evhDB_LIST_COMMAND)
00074 
00075   protected:
00076     virtual mswMOD_LIST      *CreateList();
00077     virtual int              _ReplyCB(msgMESSAGE &msg, void *udata);
00078     virtual int              _ErrReplyCB(msgMESSAGE &msg, void *udata);
00079 
00080     ccsCOMPL_STAT             Selection();
00081     ccsCOMPL_STAT             SendPhaseStep();
00082 
00083   private:
00084     mswMOD_LIST     *list;
00085 
00086     vltINT8          sendMode;
00087     vltINT8          sendPhase;
00088     vltINT8          sendFocus;
00089 
00090     vltINT8          currentSendMode;
00091     vltINT8          currentSendPhase;
00092     vltINT8          currentPhase;
00093 
00094     vltINT8          maxPhase;
00095     msgMESSAGE       msg;
00096 };
00097 
00098 #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