00001 #ifndef TIF_INTERNAL_H
00002 #define TIF_INTERNAL_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
00026
00027 #include "fndSTRING.h"
00028 #include "fndASSOCIATION.h"
00029 #include "fndINT.h"
00030 #include "fndDICTIONARY.h"
00031
00032
00033 #include "ECCS.h"
00034 #include "ECCS.h"
00035 #include "eccsTestTools.h"
00036 #include "evhHANDLER.h"
00037 #include "evhCOMMAND.h"
00038 #include "evhSTD_COMMANDS.h"
00039 #include "evhTIMEOUT.h"
00040 #include "evhErrors.h"
00041 #include "evhStates.h"
00042 #include "err.h"
00043
00044
00045 #include "tif.h"
00046 #include "tifErrors.h"
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057 struct tifROUTING
00058 {
00059 msgCMD command;
00060 msgCMD newCommand;
00061 ccsENVNAME env;
00062 ccsPROCNAME process;
00063 vltINT32 timeout;
00064 };
00065
00066
00067
00068
00069
00070 class tifMAIN_TASK : public evhSTD_COMMANDS
00071 {
00072 public:
00073 tifMAIN_TASK();
00074 ~tifMAIN_TASK();
00075 evhCB_COMPL_STAT InitCB(msgMESSAGE &msg, void *userData);
00076 evhCB_COMPL_STAT ExitCB(msgMESSAGE &msg, void *userData);
00077 evhCB_COMPL_STAT RouteCommand(msgMESSAGE &msg, tifROUTING *route);
00078 evhCB_COMPL_STAT GenericCB(msgMESSAGE &msg, void *userData);
00079 evhCB_COMPL_STAT PrintTable(msgMESSAGE &msg, void *userData);
00080 evhCB_COMPL_STAT GetPendCB(msgMESSAGE &msg, void *userData);
00081
00082 ccsCOMPL_STAT Init();
00083 ccsCOMPL_STAT Recover();
00084
00085 private:
00086 tifROUTING *table;
00087 vltINT32 numCommands;
00088 ccsCOMPL_STAT LoadCommands();
00089 };
00090
00091
00092
00093
00094
00095 class tifCOMMAND : public evhCOMMAND
00096 {
00097 public:
00098 tifCOMMAND (msgMESSAGE &cmd, tifROUTING *route);
00099 ~tifCOMMAND();
00100 evhCB_COMPL_STAT HandleReply (msgMESSAGE &reply, tifROUTING *route);
00101 evhCB_COMPL_STAT HandleErrorReply (msgMESSAGE &reply, tifROUTING *route);
00102 evhCB_COMPL_STAT HandleTimeout (msgMESSAGE &reply, tifROUTING *route);
00103 private:
00104 msgMESSAGE userCommand;
00105 };
00106
00107
00108
00109
00110
00111 extern dbSYMADDRESS tifDbRoot;
00112 extern eccsDB_INT32 *tifCmdsInProgress;
00113
00114
00115
00116
00117
00118 #endif