![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: radioMsgExec.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00017 00018 #ifndef DtRadioMessageExecutive_H_ 00019 #define DtRadioMessageExecutive_H_ 00020 00021 #include <vlutil/vlString.h> 00022 #include "vrfmsgs/simMsg.h" 00023 #include "vrfmsgs/msgExec.h" 00024 #include <list> 00025 00036 00037 #include "vrfmsgs/vrfmsgsDefines.h" 00038 class DT_DLL_vrfmsgs DtRadioMessageExecutive : public DtMessageExecutive 00039 { 00040 00041 public: 00042 00044 DtRadioMessageExecutive(); 00045 00047 virtual ~DtRadioMessageExecutive(); 00048 00050 DtRadioMessageExecutive(const DtRadioMessageExecutive& orig); 00051 00053 DtRadioMessageExecutive& operator=(const DtRadioMessageExecutive& orig); 00054 00057 virtual int indexType(const DtSimMessage & message) const; 00058 00063 virtual void processMessage(const DtSimMessage& msg) const; 00064 00067 00068 virtual void addTaskMessageCallback(DtMessageCallbackFcn fcn, void* usr); 00069 virtual void removeTaskMessageCallback(DtMessageCallbackFcn fcn, void* usr); 00071 00074 00075 virtual void addSetDataMessageCallback(DtMessageCallbackFcn fcn, void* usr); 00076 virtual void removeSetDataMessageCallback(DtMessageCallbackFcn fcn, void* usr); 00078 00081 00082 virtual void addReportMessageCallback(DtMessageCallbackFcn fcn, void* usr); 00083 virtual void removeReportMessageCallback(DtMessageCallbackFcn fcn, void* usr); 00085 00086 protected: 00088 virtual void invokeTaskCallbacks(const DtSimMessage* msg) const; 00090 virtual void invokeSetDataCallbacks(const DtSimMessage* msg) const; 00092 virtual void invokeReportCallbacks(const DtSimMessage* msg) const; 00093 00094 protected: 00095 typedef std::pair<DtMessageCallbackFcn, void*> DtRadioMessageCallbackInfo; 00096 typedef std::list<DtRadioMessageCallbackInfo> DtRadioMessageCallbackList; 00097 00098 DtRadioMessageCallbackList myTaskCallbackList; 00099 DtRadioMessageCallbackList mySetDataCallbackList; 00100 DtRadioMessageCallbackList myReportCallbackList; 00101 }; 00102 00103 #endif