![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: disaggregatedWaitController.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 00016 #ifndef disaggregatedWaitController_H_ 00017 #define disaggregatedWaitController_H_ 00018 00019 #include "vrfmodel/waitCntlr.h" 00020 #include "vrfutil/vlClock.h" 00021 #include "vrfobjcore/simCmdRadio.h" 00022 00023 class DtString; 00024 class DtSimManager; 00025 class DtTaskMessage; 00026 class DtSimMessage; 00027 class DtWaitingPSR; 00028 00038 #include "vrfmodel/vrfmodelDefines.h" 00039 class DT_DLL_vrfmodel DtDisaggregatedWaitController : public DtWaitController 00040 { 00041 00042 public: 00043 00046 DtDisaggregatedWaitController(const DtString& name, 00047 DtVrfObject* owner, 00048 DtSimManager* simManager, 00049 DtComponentDescriptor* desc = 0, 00050 DtReaderWriterRegistry* parentRegistry = 0); 00051 00053 virtual ~DtDisaggregatedWaitController(); 00054 00057 virtual DtString type() const; 00058 00059 virtual bool init(); 00060 00062 virtual void tick(); 00063 00065 virtual void registerTaskMsgCallbacks(); 00066 00070 00073 virtual void processWaitTask(DtSimMessage * msg, DtSimTaskStatePtr taskState); 00074 virtual void processWaitDurationTask(DtSimMessage * msg, DtSimTaskStatePtr taskState); 00075 virtual void processWaitElapsedTask(DtSimMessage * msg, DtSimTaskStatePtr taskState); 00077 00081 virtual void processTaskComplete(DtSimMessage * msg); 00082 00083 public: 00084 00085 static void taskCompleteCallback(DtSimMessage * msg, void * usr); 00086 00090 static DtSimComponent * creator(const DtString& name, 00091 DtVrfObject* owner, 00092 DtSimManager* simManager, 00093 DtComponentDescriptor* desc = 0, 00094 DtReaderWriterRegistry* parentRegistry = 0); 00095 00096 protected: 00099 DtDisaggregatedWaitController(); 00100 00102 DtDisaggregatedWaitController(const DtDisaggregatedWaitController & orig); 00103 00105 const DtDisaggregatedWaitController & operator=(const DtDisaggregatedWaitController & orig); 00106 00108 virtual void forwardToSubordinates( const DtSimTask* task); 00109 00110 protected: 00111 00112 DtSimCommandRadio* myCommandRadio; 00113 }; 00114 00115 #endif 00116 00117 00118 00119