![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: setDataManager.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef setDataManager_h 00015 #define setDataManager_h 00016 00017 #include <map> 00018 #include "vrfobjcore/vrfobjcoreDefines.h" 00019 #include "vrfmsgs/msgExec.h" 00020 00021 class DtSetDataRequestMessage; 00022 class DtSimBaseRadio; 00023 00039 class DT_DLL_vrfobjcore DtSetDataManager 00040 { 00041 private: 00043 DtSetDataManager(); 00045 DtSetDataManager(const DtSetDataManager& orig); 00047 DtSetDataManager& operator=(const DtSetDataManager& orig); 00048 00049 public: 00051 DtSetDataManager(DtSimBaseRadio* radio); 00052 00054 virtual ~DtSetDataManager(); 00055 00057 virtual bool init(); 00058 00062 virtual bool init(DtSimBaseRadio* pRadio); 00069 virtual void addSetDataProcessorCallback(int setDataType, DtMessageCallbackFcn fcn, void* usr); 00070 00079 virtual void addSetDataNotifyCallback(int setDataType, DtMessageCallbackFcn fcn, void* usr); 00080 00083 virtual void removeSetDataCallback(int setDataType, DtMessageCallbackFcn fcn, 00084 void* usr); 00085 00087 virtual void executeSetDataRequest(const DtSetDataRequestMessage& setMsg); 00088 00092 virtual std::vector<int> capableSetDataTypes() const; 00093 00095 00096 DtSimBaseRadio* radio(); 00097 const DtSimBaseRadio* radio() const; 00099 protected: 00102 virtual void registerRadioMessageCallbacks(); 00105 virtual void unRegisterRadioMessageCallbacks(); 00106 00108 static void setDataMessageCallback(DtSimMessage* msg, void* usr); 00109 00110 protected: 00111 typedef std::pair<DtMessageCallbackFcn, void*> DtSetDataCallbackInfo; 00112 typedef std::multimap<int, DtSetDataCallbackInfo > DtSetDataCallbackMap; 00113 DtSetDataCallbackMap mySetDataProcessorCallbackMap; 00114 DtSetDataCallbackMap mySetDataNotifyCallbackMap; 00115 00116 DtSimBaseRadio* myRadio; 00117 }; 00118 00119 inline DtSimBaseRadio* DtSetDataManager::radio() {return myRadio;} 00120 inline const DtSimBaseRadio* DtSetDataManager::radio() const {return myRadio;} 00121 #endif 00122