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

trkwsTRANSFER_SER.h

Go to the documentation of this file.
00001 #ifndef trkwsTRANSFER_SER_H
00002 #define trkwsTRANSFER_SER_H
00003 /*******************************************************************************
00004 * E.S.O. - VLT project
00005 *
00006 * "@(#) $Id: trkwsTRANSFER_SER.h,v 1.157 2003/10/17 14:00:43 vltsccm Exp $"
00007 *
00008 * who       when      what
00009 * --------  --------  ----------------------------------------------
00010 * kwirenst  01/10/96  Added overloaded SendAll() to send a message different from the received
00011 * gchiozzi  25/08/95  Added protected method MessageQueue
00012 * gchiozzi  24/08/95  Completely restructured
00013 * kwirenst  07/06/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 "fndQUEUE.h"
00026 
00027 #include "trkws.h"
00028 #include "evhDB_CMD_SEND.h"
00029 #include "evhDB_CMD_SERIAL.h"
00030 #include "tcsDB_SYNC_ERR_CHECK.h"
00031 #include "mswMOD_LIST_COMMAND.h"
00032 
00033 class trkwsTRANSFER_SER : public evhDB_CMD_SERIAL
00034 {
00035   public:
00036     trkwsTRANSFER_SER(const dbSYMADDRESS  dbPoint, 
00037         const dbSYMADDRESS destDbPoint = NULL);
00038     ~trkwsTRANSFER_SER();
00039 
00040     ccsCOMPL_STAT DestinationDbPoint(const dbSYMADDRESS dbPoint);
00041     ccsCOMPL_STAT SendAll(msgMESSAGE &msg);
00042     ccsCOMPL_STAT SendAll(msgMESSAGE &originalMsg, msgMESSAGE &toBeSentMsg);
00043 
00044     virtual ccsCOMPL_STAT Reset();
00045 
00046   protected:
00047 
00048     virtual evhCB_COMPL_STAT  CompletedCB(msgMESSAGE &msg, void *udata);
00049     virtual evhCB_COMPL_STAT  ErrorCB(msgMESSAGE &msg, void *udata);
00050     virtual evhCB_COMPL_STAT  TimeoutCB(msgMESSAGE &msg, void *udata);
00051 
00052     fndQUEUE &MessageQueue();
00053 
00054   private:
00055     fndQUEUE messages;
00056 }; 
00057 
00058 
00059 /* 
00060  ********************************************
00061  *                                          *
00062  * Local class to store messages in the     *  
00063  * internal queue                           *
00064  *                                          *
00065  ******************************************** 
00066 */
00067 
00068 class trkwsMSG_QUEUE_ITEM : public fndOBJECT, public msgMESSAGE
00069 {
00070   public:
00071     trkwsMSG_QUEUE_ITEM();
00072     trkwsMSG_QUEUE_ITEM(const msgMESSAGE &source);
00073     
00074     fndStdObjectDef(trkwsMSG_QUEUE_ITEM, fndOBJECT);
00075 };
00076 
00077 
00078 #endif 

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