VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cgfDispatcher.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
13 
14 #include <vrfmsgs/messageTypes.h>
16 #include "vrfmsgs/ifLoadScenario.h"
17 #include "vrfmsgs/ifSaveScenario.h"
19 #include "vrfmsgs/ifControl.h"
20 #include "vrfcgf/cgf.h"
21 #include <vlutil/vlFilename.h>
23 #include <vl/startResumeInteraction.h>
24 #include <vl/stopFreezeInteraction.h>
25 class DtIfControlMsg;
26 class DtTimer;
29 
33 #include "vrfcgf/vrfcgfDefines.h"
35 {
36 public:
44  DtVrfMessageInterface* messageIf,
45  int receivePort = 8000);
46 
47  virtual ~DtCgfDispatcher();
48 
50  virtual void closeScenario(DtIfCloseScenario* msg);
51  virtual void loadScenario(DtIfLoadScenario* msg);
54  virtual void saveScenario(DtIfSaveScenario* msg,
55  const DtSimulationAddress& requester);
56 
58  virtual void importScenarioDescriptionFile(DtIfImportScenarioDescriptionFile*);
59 
61  virtual void exportScenarioDescriptionFile(DtIfExportScenarioDescriptionFile*);
62 
68  virtual void controlScenario(DtIfControl* msgData,
69  const DtSimulationAddress& sender);
70 
71  virtual void setEnableResourceMonitor(bool b);
72 
74  virtual void tick();
75 
77  virtual void setTimeToQuit(bool yesNo);
78  virtual bool timeToQuit() const;
79 
81  virtual DtVrfMessageInterface* messageInterface() const;
82 
84  virtual DtCgf* cgf() const;
85 
87  virtual int port() const;
88 
90  virtual const DtFilename& tempDirectory();
91  virtual void setTempDirectory(const DtFilename& f);
92 
96  virtual void cleanupSockets();
97 
103  virtual unsigned int simMgmtPduProcessLevel() const;
104  virtual void setSimMgmtPduProcessLevel(unsigned int level);
105 
106  virtual void processCapableTaskAndSetQuery(DtSimMessage* msg);
107  virtual void processDIGuyAppearAndAniamtionsQuery(DtSimMessage* msg);
108 
109 public:
110 
111  typedef struct dtSimRunDurationUsrData
112  {
114  DtSimulationAddress replyTo;
116 
119  static void processMessageCb(DtSimMessage* msg, void* usr);
120 
122  static void startResumeSimCb(DtStartResumeInteraction* msg, void* usr);
123 
125  static void stopFreezeSimCb(DtStopFreezeInteraction* msg, void* usr);
126 
128  static void receiveFileCb(const DtFilename& f, void* usr);
129 
136  static void runDurationCompleteCallback(void* timer);
137  virtual void processRunDurationComplete(DtSimRunDurationUsrData*);
138 
139 protected:
143  virtual bool shouldTryReload(const DtScenario& scenario);
144 
148  virtual bool shouldTryReload(const DtIfImportScenarioDescriptionFile*);
149 
151  virtual void pause();
152 
154  virtual void run();
155 
157  virtual void rewind();
158 
161  virtual void step(const DtSimulationAddress& sender);
162 
172  virtual void runForDuration(double duration, const DtSimulationAddress& sender);
173 
174 protected:
175 
176  int myPort;
180  DtFilename myDir;
182 
189 
191 };

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)