00001 #ifndef trkwsTRANSFER_SER_H
00002 #define trkwsTRANSFER_SER_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
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
00063
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