![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: disaggregatedSetController.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef disaggregatedSetController_H_ 00016 #define disaggregatedSetController_H_ 00017 00018 #include "vrfobjcore/cntrlCmpnt.h" 00019 #include "vrfobjcore/simRadio.h" 00020 #include "vrfobjcore/cmdChanRadio.h" 00021 00022 class DtSimMessage; 00023 class DtSetDataRequestMessage; 00024 class DtVrfAggregateStateRepository; 00025 class DtFormationState; 00026 class DtSetDataRequest; 00027 00032 #include "vrfmodel/vrfmodelDefines.h" 00033 class DT_DLL_vrfmodel DtDisaggregatedSetController : public DtControllerComponent 00034 { 00035 public: 00036 00039 DtDisaggregatedSetController(const DtString& name, 00040 DtVrfObject* owner, 00041 DtSimManager* simManager, 00042 DtComponentDescriptor* desc = 0, 00043 DtReaderWriterRegistry* parentRegistry = 0); 00044 00046 virtual ~DtDisaggregatedSetController(); 00047 00050 virtual DtString type() const; 00051 00052 virtual bool init(); 00053 00055 static void setForceCallback(DtSimMessage* msg, void* usrData); 00056 static void setResourceCallback(DtSimMessage* msg, void* usrData); 00057 static void setSORCallback(DtSimMessage* msg, void* usrData); 00058 static void setSpeedCallback(DtSimMessage* msg, void* usrData); 00059 static void setTargetCallback(DtSimMessage* msg, void* usrData); 00060 static void setEngagementRulesCallback(DtSimMessage* msg, void* usrData); 00061 static void setRestoreCallback(DtSimMessage* msg, void* usrData); 00062 static void setPostureCallback(DtSimMessage* msg, void* usrData); 00063 static void setWeaponStateCallback(DtSimMessage* msg, void* usrData); 00064 00068 static DtSimComponent * creator(const DtString& name, 00069 DtVrfObject* owner, 00070 DtSimManager* simManager, 00071 DtComponentDescriptor* desc = 0, 00072 DtReaderWriterRegistry* parentRegistry = 0); 00073 00074 protected: 00075 00076 virtual void processSetResource(DtSimMessage* msg); 00077 virtual void processSetForce(DtSimMessage* msg); 00078 virtual void processSetSOR(DtSimMessage* msg); 00079 virtual void processSetSpeed(DtSimMessage* msg); 00080 virtual void processSetTarget(DtSimMessage* msg); 00081 virtual void processSetEngagementRules(DtSimMessage* msg); 00082 virtual void processSetRestore(DtSimMessage* msg); 00083 virtual void processSetPosture(DtSimMessage* msg); 00084 virtual void processSetWeaponState(DtSimMessage* msg); 00085 00087 virtual void setRadio(DtSimRadio* radio); 00088 00090 virtual void forwardToSubordinates(DtSetDataRequestMessage* drMsg); 00091 00094 DtDisaggregatedSetController(); 00095 00097 DtDisaggregatedSetController(const DtDisaggregatedSetController& orig); 00098 00100 DtDisaggregatedSetController& operator=(const DtDisaggregatedSetController& orig); 00101 00102 protected: 00103 00104 DtCommandChannelRadio* myCommandChannelRadio; 00105 }; 00106 00107 #endif