00001 #ifndef CONTROLFEECOM
00002 #define CONTROLFEECOM
00003
00004 #include "FedCommand.hpp"
00005 #include "SendWithoutCoCo.hpp"
00006 #include "ace/Map_Manager.h"
00007
00011 #define CONTROLFEECOM_STRUCTURE "I:1;I:1;C:256"
00012
00015 #define FEESERVER_UPDATE_FLAG 0x0004
00016
00019 #define FEESERVER_RESTART_FLAG 0x0008
00020
00023 #define FEESERVER_REBOOT_FLAG 0x0010
00024
00027 #define FEESERVER_SHUTDOWN_FLAG 0x0020
00028
00031 #define FEESERVER_EXIT_FLAG 0x0040
00032
00035 #define WATCH_DOG_TIMEOUT 1000
00036
00039 #define CHANNEL_TIMED_OUT -2
00040
00043 #define CHANNEL_BUSY -1
00044
00045 namespace ztt{namespace dcs{
00046
00051 typedef struct ContFeeComContent{
00053 int commandID;
00055 int optionalTag;
00057 char target[256];
00064 ContFeeComContent& operator=(const ContFeeComContent& rhs){
00065 if(this==&rhs){
00066 return *this;
00067 }
00068 commandID=rhs.commandID;
00069 optionalTag=rhs.optionalTag;
00070 memcpy(target,rhs.target,256);
00071
00072 return *this;
00073
00074 }
00075 }ContFeeComContent;
00076
00084 class ControlFeeCom:public FedCommand{
00085
00086 public:
00092 ControlFeeCom(char* name,DimCommandHandler* handler)
00093 : FedCommand(name,CONTROLFEECOM_STRUCTURE,handler)
00094 {
00095
00096 };
00100 virtual ~ControlFeeCom();
00106 virtual bool handleCommand();
00114 virtual bool setAnswerData(const int& ID);
00120 static void* watchDog(void* objectHandler);
00121 private:
00125 SendWithoutCoCo send;
00126 };
00127
00128 }}
00129
00130 #endif
00131