VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ifStatus.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include <vlpi/netStructs.h>
13 #include <vlutil/vlUtil.h>
14 #include <vlutil/vlInetAddr.h>
15 #include "vrfmsgs/vrfmsgsDefines.h"
16 #include <vrfutil/backend.h>
17 
18 const int DtIfStatusVersion = 10;
19 
27 #define DtKeyFromKindDomain(kind, domain) ((kind << 8) | (0x00FF & domain))
28 
35 {
44 };
45 
46 DT_DLL_vrfmsgs bool hasCapability(const DtU32& capabilitiesBitfield, DtScenarioCapabilities bitNumber);
47 DT_DLL_vrfmsgs void setCapability(DtU32& capabilitiesBitfield, DtScenarioCapabilities bitNumber, bool value);
48 
49 const DtU32 DtScenarioCapabilities_All = 0xffff;
50 
52 {
53 public:
54  typedef std::map<DtU16, int> ObjectCounts;
55 
57  DtIfStatus();
58 
60  virtual ~DtIfStatus();
61 
63  DtIfStatus(const DtIfStatus& orig);
64 
66  DtIfStatus& operator=(const DtIfStatus& orig);
67 
69  virtual int type() const;
70 
71  virtual DtSimInterfaceContent * clone() const;
72 
74  virtual DtTime exerciseStartTime() const;
75  virtual void setExerciseStartTime(DtTime time);
76 
79  virtual DtTime simTime() const;
80  virtual void setSimTime(DtTime time);
81 
83  virtual DtTime simStartSimTime() const;
84  virtual void setSimStartSimTime(DtTime time);
85 
88  virtual void setRunDurationTime(double);
89  virtual double runDurationTime() const;
90 
93  virtual double timeMultiplier() const;
94  virtual void setTimeMultiplier(double timeMultiplier);
95 
98  virtual int controlState() const;
99  virtual void setControlState(int state);
100 
101  virtual DtInetAddr ipAddress() const;
102  virtual void setIpAddress(DtInetAddr ipAddr);
103 
104  virtual unsigned int port() const;
105  virtual void setPort(unsigned int port);
106 
107  virtual int appIdRangeMax() const;
108  virtual void setAppIdRangeMax(int);
109 
110  virtual bool isFinalStatusMsg() const;
111  virtual void setIsFinalStatusMsg(bool finalMsg);
112 
116  virtual void addLocalObject(int kind, int domain);
117  virtual void removeLocalObject(int kind, int domain);
118  virtual int totalLocalObjects() const;
119  const ObjectCounts& objectCounts() const
120  {
121  return myObjectCounts;
122  }
123 
125 
126  //virtual bool isOldParameterDb() const;
127  //virtual void setIsOldParameterDb(bool isOldParameterDb);
128 
130  virtual int scenarioRunId() const;
131  virtual void setScenarioRunId(int);
132 
133  virtual bool isCurrentParameterDb() const;
134  virtual void setIsCurrentParameterDb(bool isCurrentParameterDb);
135 
136  virtual bool isResourceMonitorEnabled() const;
137  virtual void setIsResourceMonitorEnabled(bool isCurrentParameterDb);
138 
142  virtual bool isLoaded() const;
143  virtual void setIsLoaded(const bool loaded);
144 
147 
148  virtual unsigned int simEngineId() const;
149  virtual void setSimEngineId(unsigned int id);
151 
154  virtual void setLoadingScenario(bool);
155  virtual bool loadingScenario() const;
157 
160  virtual void setSavingScenario(bool);
161  virtual bool savingScenario() const;
163 
166  virtual void setReinitializingScenario(bool);
167  virtual bool reinitializingScenario() const;
169 
172  virtual void setImportingScenario(bool);
173  virtual bool importingScenario() const;
175 
178  virtual void setHostingDynamicTerrainServer(bool);
179  virtual bool hostingDynamicTerrainServer() const;
181 
184  virtual void setCreatingSimulationObjectGroup(bool);
185  virtual bool creatingSimulationObjectGroup() const;
187 
190  virtual void setClosingScenario(bool);
191  virtual bool closingScenario() const;
193 
196  virtual void setRollingBackScenario(bool);
197  virtual bool rollingBackScenario() const;
199 
202  virtual void setLoadedNewScenario(bool);
203  virtual bool loadedNewScenario() const;
205 
206  virtual int netRepSize() const;
207  virtual bool setFromNet(const char* contentBuffer,
208  unsigned contentSize);
209  virtual bool setToNet();
210 
211  virtual void printDataToString(DtString& str);
212 
213  static DtSimInterfaceContent* creator();
214 
217  virtual bool canSimulate() const;
218  virtual void setCanSimulate(const bool frontEnd);
219 
220  bool oldStyleStatus() const
221  {
222  return (myVersion < 10);
223  }
224 
225  virtual void setIsTimeManaged(bool yesNo);
226  virtual bool isTimeManaged() const;
227 
230 
231  virtual DtU32 scenarioCapabilities() const;
232  virtual void setScenarioCapabilities(DtU32 v);
233  virtual void setScenarioCapability(DtU32 v, bool b);
235 
238 
239  virtual DtString applicationType() const;
240  virtual void setApplicationType(const DtString& type);
242 
245  const DtString& scenarioName() const
246  {
247  return myScenarioName;
248  }
249 
250  const DtString& terrainName() const
251  {
252  return myTerrainName;
253  }
254 
255  const DtString& guiTerrainName() const
256  {
257  return myGuiTerrainName;
258  }
260 
261 protected:
262 
266  DtU32 myVersion;
267  DtU32 myPort;
270  DtInetAddr myInetAddr;
296 
300 
302 
307 };
Definition: ifStatus.h:51
virtual bool setFromNet(const char *contentBuffer, unsigned contentSize)
Definition: simInterfaceContent.h:78
virtual int netRepSize() const
Definition: simInterfaceContent.h:76
const DtU32 DtScenarioCapabilities_All
Definition: ifStatus.h:49
#define DT_DLL_vrfmsgs
This file is used to determine how to build.
Definition: vrfmsgsDefines.h:28
DT_DLL_vrfmsgs void setCapability(DtU32 &capabilitiesBitfield, DtScenarioCapabilities bitNumber, bool value)
bool myIsCurrentParameterDb
Definition: ifStatus.h:272
const int DtIfStatusVersion
Definition: ifStatus.h:18
virtual int type() const =0
DtU16 myControlState
Definition: ifStatus.h:269
DtTime myExerciseStartTime
Definition: ifStatus.h:275
bool oldStyleStatus() const
Definition: ifStatus.h:220
bool myRollingBackScenario
Definition: ifStatus.h:290
bool myLoadingScenario
Definition: ifStatus.h:283
int myAppIdRangeMax
Definition: ifStatus.h:268
DtInetAddr myInetAddr
Definition: ifStatus.h:270
bool myResourceMonitorIsEnabled
Definition: ifStatus.h:273
DtString myGuiTerrainName
Definition: ifStatus.h:306
bool mySavingScenario
Definition: ifStatus.h:284
const ObjectCounts & objectCounts() const
Definition: ifStatus.h:119
DtU32 myScenarioCapabilities
Bitfield indicating at what level this sim engine participates with the scenario. ...
Definition: ifStatus.h:293
bool myHostingDynamicTerrainServer
Definition: ifStatus.h:287
DtScenarioCapabilities
ScenarioCapabilities are a way of expressing the functionality of a VRF Sim based application with re...
Definition: ifStatus.h:34
virtual void printDataToString(DtString &str)
True if this application can be commanded to create new objects to simulate.
Definition: ifStatus.h:39
const DtString & guiTerrainName() const
Definition: ifStatus.h:255
DtU32 myVersion
New versions of status message have a version.
Definition: ifStatus.h:266
bool myClosingScenario
Definition: ifStatus.h:289
DtString myApplicationType
String indicating what application this sim engine is, for example &quot;VR-Forces Sim&quot; or &quot;VR-Engage Sim&quot;...
Definition: ifStatus.h:295
DT_DLL_vrfmsgs bool hasCapability(const DtU32 &capabilitiesBitfield, DtScenarioCapabilities bitNumber)
const DtSimInterfaceContent & operator=(const DtSimInterfaceContent &orig)
DtU32 myPort
Definition: ifStatus.h:267
True if this application supports being the simulator of the terrain and environment server objects f...
Definition: ifStatus.h:41
DtTime myRunDurationTime
Definition: ifStatus.h:301
DtU32 mySimEngineId
Definition: ifStatus.h:280
Set this flag to have the simulation model sets used by this back-end to publish the SMS in the back-...
Definition: ifStatus.h:43
DtTime mySimTime
Definition: ifStatus.h:276
DtTime mySimStartSimTime
Definition: ifStatus.h:277
bool myImportingScenario
Definition: ifStatus.h:286
std::map< DtU16, int > ObjectCounts
Definition: ifStatus.h:54
ObjectCounts myObjectCounts
This map contains the count of kind/domain of objects available.
Definition: ifStatus.h:299
virtual bool setToNet()
Definition: simInterfaceContent.h:83
Indicates whether or not the simulation time provided by this is in line with the scenario&#39;s simulati...
Definition: ifStatus.h:37
Definition: simInterfaceContent.h:45
bool myIsLoaded
Definition: ifStatus.h:274
virtual DtSimInterfaceContent * clone() const =0
bool myIsFinalStatusMsg
Definition: ifStatus.h:271
const DtString & scenarioName() const
Deprecated – used for backwards compatibility.
Definition: ifStatus.h:245
bool myIsTimeManaged
Definition: ifStatus.h:282
const DtString & terrainName() const
Definition: ifStatus.h:250
bool myCreatingSimulationObjectGroup
Definition: ifStatus.h:288
double myTimeMultiplier
Definition: ifStatus.h:278
DtString myScenarioName
Deprecated – used for backwards compatability. Now part of DtIfScenarioStatus message.
Definition: ifStatus.h:304
DtString myTerrainName
Definition: ifStatus.h:305
bool myReinitializingScenario
Definition: ifStatus.h:285
bool myLoadedNewScenario
Definition: ifStatus.h:279
DtU32 myScenarioRunId
Definition: ifStatus.h:291
bool myCanSimulate
Definition: ifStatus.h:281

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)