VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
waitController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
15 #include "vrfutil/simClock.h"
16 
17 class DtString;
18 class DtSimManager;
19 class DtTaskMessage;
20 class DtSimMessage;
21 class DtWaitingPSR;
22 
33 {
34 public:
35 
38  DtWaitController(const DtString& name,
39  DtVrfObject* owner,
40  DtSimManager* simManager,
41  DtComponentDescriptor* desc = 0,
42  DtReaderWriterRegistry* parentRegistry = 0);
43 
45  virtual ~DtWaitController();
46 
49  virtual const char* type() const;
50 
52  virtual bool init();
53 
62  virtual void tick();
63 
65  virtual void enable();
66  virtual void registerTaskMsgCallbacks();
67 
69  virtual void disable();
70 
71  static void waitCallback(DtSimMessage* msg, void* usr, DtSimTaskStatePtr taskStatePtr);
72 
74  virtual DtSimTaskStatePtr currentTaskState() const;
75 
79  static DtSimComponent * creator(const DtString& name,
80  DtVrfObject* owner,
81  DtSimManager* simManager,
82  DtComponentDescriptor* desc = 0,
83  DtReaderWriterRegistry* parentRegistry = 0);
84 
85 protected:
86  virtual void processWait(const DtTaskMessage& msg, DtSimTaskStatePtr taskStatePtr);
87 
91 
94  virtual void processWaitTask(DtSimTask* task, DtSimTaskStatePtr taskState);
95 
100  virtual void processWaitDurationTask(DtSimTask* task, DtSimTaskStatePtr taskState);
101 
105  virtual void processWaitElapsedTask(DtSimTask* task, DtSimTaskStatePtr taskState);
106 
110 
112  DtWaitController(const DtWaitController & orig);
113 
115  const DtWaitController & operator=(const DtWaitController & orig);
116 
122  virtual bool createPSR();
123 
127 };
128 

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)