VR-Forces Development_Version 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"
22 #include "vrfcgf/cgf.h"
23 #include <vlutil/vlFilename.h>
25 #include <vl/startResumeInteraction.h>
26 #include <vl/stopFreezeInteraction.h>
27 
28 class DtIfControlMsg;
29 class DtTimer;
32 
36 #include "vrfcgf/vrfcgfDefines.h"
38 {
39 public:
47  DtVrfMessageInterface* messageIf,
48  int receivePort = 8000);
49 
50  virtual ~DtCgfDispatcher();
51 
53  virtual void closeScenario(DtIfCloseScenario* msg);
54  virtual void loadScenario(DtIfLoadScenario* msg);
55 
58  virtual void saveScenario(DtIfSaveScenario* msg,
59  const DtSimulationAddress& requester);
60 
63  virtual void saveSimulationObjectGroup(DtIfSaveSimulationObjectGroup* msg,
64  const DtSimulationAddress& requester);
65 
68  virtual void createSimulationObjectGroup(DtIfCreateSimulationObjectGroup* msg,
69  const DtSimulationAddress& requester);
70 
72  virtual void importScenarioDescriptionFile(DtIfImportScenarioDescriptionFile*);
73 
75  virtual void exportScenarioDescriptionFile(DtIfExportScenarioDescriptionFile*);
76 
82  virtual void controlScenario(DtIfControl* msgData,
83  const DtSimulationAddress& sender);
84 
85  virtual void setEnableResourceMonitor(bool b);
86 
88  virtual void tick();
89 
91  virtual void setTimeToQuit(bool yesNo);
92  virtual bool timeToQuit() const;
93 
95  virtual DtVrfMessageInterface* messageInterface() const;
96 
98  virtual DtCgf* cgf() const;
99 
101  virtual int port() const;
102 
104  virtual const DtFilename& tempDirectory();
105  virtual void setTempDirectory(const DtFilename& f);
106 
110  virtual void cleanupSockets();
111 
117  virtual unsigned int simMgmtPduProcessLevel() const;
118  virtual void setSimMgmtPduProcessLevel(unsigned int level);
119 
120  virtual void processCapableTaskAndSetQuery(DtSimMessage* msg);
121  virtual void processDIGuyAppearAndAniamtionsQuery(DtSimMessage* msg);
122 
123 public:
124 
125  typedef struct dtSimRunDurationUsrData
126  {
128  DtSimulationAddress replyTo;
130 
133  static void processMessageCb(DtSimMessage* msg, void* usr);
134 
136  static void startResumeSimCb(DtStartResumeInteraction* msg, void* usr);
137 
139  static void stopFreezeSimCb(DtStopFreezeInteraction* msg, void* usr);
140 
142  static void receiveFileCb(const DtFilename& f, void* usr);
143 
150  static void runDurationCompleteCallback(void* timer);
151  virtual void processRunDurationComplete(DtSimRunDurationUsrData*);
152 
153 protected:
157  virtual bool shouldTryReload(const DtScenario& scenario);
158 
162  virtual bool shouldTryReload(const DtIfImportScenarioDescriptionFile*);
163 
165  virtual void pause();
166 
168  virtual void run();
169 
171  virtual void rewind();
172 
175  virtual void step(const DtSimulationAddress& sender);
176 
186  virtual void runForDuration(double duration, const DtSimulationAddress& sender);
187 
188 protected:
189 
190  int myPort;
194  DtFilename myDir;
196 
203 
205 };

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)