VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfStatusPublisher.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 
11 #include <vlutil/vlList.h>
12 #include <vlutil/vlTime.h>
13 #include <vl/hostStructs.h>
14 #include <vlutil/vlInetSocket.h>
15 #include <vlutil/vlInetAddr.h>
16 #include "vrfcgf/vrfcgfDefines.h"
17 #include <vrfmsgs/ifStatus.h>
18 
19 class DtSimMessage;
20 class DtSimulationAddress;
22 class DtIfStatus;
23 class DtVrfObjectManager;
24 class DtVrfObject;
25 
30 {
31 public:
32 
35  DtVrfObjectManager* mgr);
36 
38  virtual ~DtVrfStatusPublisher();
39 
40  virtual const DtSimulationAddress& address();
41  virtual void setAddress(const DtSimulationAddress& address);
42 
43  virtual const DtTime& lastResponseTime();
44  virtual void setLastResponseTime(const DtTime& time);
45 
46  virtual void sendStatus(const DtSimulationAddress& address);
47  virtual void sendFinalStatus();
48  virtual void sendStatusToAll();
49 
51  virtual void setHeartbeatInterval(int heartbeatInterval);
52  virtual int heartbeatInterval();
53 
55  virtual DtInetAddr ipAddress() const;
56  virtual void setIpAddress(const DtInetAddr& addr);
57 
59  virtual unsigned int port() const;
60  virtual void setPort(unsigned int p);
61 
63  virtual int appIdRangeMax() const;
64  virtual void setAppIdRangeMax(int p);
65 
67  virtual int controlState() const;
68  virtual void setControlState(int state);
69 
71  virtual void tick();
72 
74  virtual void processStatusRequestMessage(DtSimMessage * msg);
75 
77  static void statusRequestCallback(DtSimMessage * msg, void * usr);
78 
80  virtual bool isLoaded() const;
81  virtual void setIsLoaded(bool loaded);
82 
84  virtual void setScenarioRunId(int);
85  virtual int scenarioRunId() const;
86 
88  virtual bool isActive() const;
89  virtual void setIsActive(bool active);
90 
91  virtual bool canSimulate() const;
92  virtual void setCanSimulate(bool canSimulate);
93 
95  virtual DtTime exerciseStartTime() const;
96  virtual void setExerciseStartTime(DtTime time);
97 
100  virtual DtTime simTime() const;
101  virtual void setSimTime(DtTime time);
102 
105  virtual DtTime runDurationTime() const;
106  virtual void setRunDurationTime(DtTime);
107 
109  virtual DtTime simStartSimTime() const;
110  virtual void setSimStartSimTime(DtTime time);
111 
114  virtual double timeMultiplier() const;
115  virtual void setTimeMultiplier(double timeMultiplier);
116 
118  virtual void setLoadingScenario(bool);
119  virtual bool loadingScenario() const;
120 
122  virtual void setSavingScenario(bool);
123  virtual bool savingScenario() const;
124 
126  virtual void setImportingScenario(bool);
127  virtual bool importingScenario() const;
128 
130  virtual void setReinitializingScenario(bool);
131  virtual bool reinitializingScenario() const;
132 
134  virtual void setHostingDynamicTerrainServer(bool);
135  virtual bool hostingDynamicTerrainServer() const;
136 
138  virtual void setCreatingSimulationObjectGroup(bool);
139  virtual bool creatingSimulationObjectGroup() const;
140 
142  virtual void setClosingScenario(bool);
143  virtual bool closingScenario() const;
144 
146  virtual void setRollingBackScenario(bool);
147  virtual bool rollingBackScenario() const;
148 
151  virtual void setLoadedNewScenario(bool);
152  virtual bool loadedNewScenario() const;
153 
155  //virtual bool isOldParameterDb() const;
156  //virtual void setIsOldParameterDb(bool isOldParameterDb);
157 
159  virtual bool isCurrentParameterDb() const;
160  virtual void setIsCurrentParameterDb(bool isCurrentParameterDb);
161 
164  virtual bool isResourceMonitorEnabled() const;
165  virtual void setIsResourceMonitorEnabled(bool isEnabled);
166 
167  virtual void setIsTimeManaged(bool yesNo);
168  virtual bool isTimeManaged() const;
169 
173  virtual void setSendStatusOnChange(bool);
174  virtual bool sendStatusOnChange() const;
175 
177  virtual void addLocalObject(int kind, int domain);
178  virtual void removeLocalObject(int kind, int domain);
179 
180  virtual DtU32 scenarioCapabilities() const;
181  virtual void setScenarioCapabilities(DtU32 v);
182  virtual void setScenarioCapability(DtU32 v, bool b);
183 
184  virtual DtString applicationType() const;
185  virtual void setApplicationType(const DtString& type);
186 
187 protected:
189  static void simObjectAdded(const DtVrfObject*, void* usr);
190  virtual void processSimObjectAdded(const DtVrfObject*);
191 
192  static void simObjectAboutToBeRemoved(const DtVrfObject*, void* usr);
193  virtual void processSimObjectAboutToBeRemoved(const DtVrfObject*);
194 
195 protected:
196 
199 
201  DtVrfStatusPublisher& operator=(const DtVrfStatusPublisher& orig);
202 
203 protected:
207 
208  DtSimulationAddress myAddress;
217 
219 };
bool myIsOldParameterDb
Definition: vrfStatusPublisher.h:212
Definition: ifStatus.h:51
bool myCanSimulate
Definition: vrfStatusPublisher.h:210
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtVrfObjectManager * myObjectManager
Definition: vrfStatusPublisher.h:216
bool myIsActive
Definition: vrfStatusPublisher.h:209
DtIfStatus * myStatus
Definition: vrfStatusPublisher.h:218
int myHeartbeatInterval
Definition: vrfStatusPublisher.h:206
DtSimulationAddress myAddress
Definition: vrfStatusPublisher.h:208
DtVrfMessageInterface * myMessageIf
Status of this node.
Definition: vrfStatusPublisher.h:205
File: simMsg.h.
Definition: simMessage.h:35
Instances of DtVrfStatusPublisher are used to send information about a VR-Forces simulation engine to...
Definition: vrfStatusPublisher.h:29
bool myLoadedNewScenario
Definition: vrfStatusPublisher.h:215
class DtVrfObjectManager:
Definition: vrfObjectManager.h:201
bool mySendStatusOnChange
Definition: vrfStatusPublisher.h:214
bool myHasBeenModified
Definition: vrfStatusPublisher.h:213
#define DT_DLL_vrfcgf
This file is used to determine how to build.
Definition: vrfcgfDefines.h:25
DtTime myLastResponseTime
Definition: vrfStatusPublisher.h:211
Definition: vrfMessageInterface.h:46

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)