![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: iffCntlr.h,v $ $Revision: 1.15 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 00015 #ifndef DtIffControllerComponent_H_ 00016 #define DtIffControllerComponent_H_ 00017 00018 #include "vrfobjcore/cntrlCmpnt.h" 00019 00020 class DtString; 00021 class DtSimManager; 00022 class DtSimMessage; 00023 class DtIffPublisher; 00024 class DtSetIffRequest; 00025 class DtIffStateRepository; 00026 class DtVrfIffPSR; 00027 00032 #include "vrfmodel/vrfmodelDefines.h" 00033 class DT_DLL_vrfmodel DtIffControllerComponent : public DtControllerComponent 00034 { 00035 public: 00036 00039 DtIffControllerComponent(const DtString& name, 00040 DtVrfObject* owner, 00041 DtSimManager* simManager, 00042 DtComponentDescriptor* desc = 0, 00043 DtReaderWriterRegistry* parentRegistry = 0); 00044 00046 virtual ~DtIffControllerComponent(); 00047 00048 virtual bool init(); 00049 00051 virtual void tick(); 00052 00055 virtual DtString type() const; 00056 00060 static DtSimComponent * creator(const DtString& name, 00061 DtVrfObject* owner, 00062 DtSimManager* simManager, 00063 DtComponentDescriptor* desc = 0, 00064 DtReaderWriterRegistry* parentRegistry = 0); 00065 00067 virtual void registerSetIffRequestMsgCallbacks(); 00068 00069 static void setIffRequestCallback(DtSimMessage *msg, void * usrData); 00070 00071 virtual void processSetIffRequestMessage(DtSimMessage *msg); 00072 00073 protected: 00074 00077 DtIffControllerComponent(); 00078 00080 DtIffControllerComponent(const DtIffControllerComponent & 00081 orig); 00082 00084 const DtIffControllerComponent & operator=(const 00085 DtIffControllerComponent & orig); 00086 00088 virtual void setRadio(DtSimBaseRadio * radio); 00089 00090 virtual bool createPublisher(); 00092 virtual void updateFromDescriptor(); 00094 virtual void updateFromSetRequest(DtSetIffRequest *setReq, bool updateInPSR = true); 00096 virtual void updateDynamicData(); 00097 00102 virtual bool needsToTick(); 00103 00109 virtual bool createPSR(); 00110 00111 protected: 00112 DtIffPublisher *myIffPublisher; 00113 bool myHasBeenTicked; 00114 00115 bool myUseAltMode5; 00116 00119 DtVrfIffPSR* myProcessState; 00120 00121 bool myFirstTick; 00122 }; 00123 00124 #endif 00125 00126 00127