![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: vrfStatusPub.h,v $ $Revision: 1.21 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DtVrfStatusPublisher_H_ 00013 #define DtVrfStatusPublisher_H_ 00014 00015 #include <vlutil/vlList.h> 00016 #include <vlutil/vlTime.h> 00017 #include <vl/hostStructs.h> 00018 #include <vlutil/vlInetSocket.h> 00019 #include <vlutil/vlInetAddr.h> 00020 #include "vrfcgf/vrfcgfDefines.h" 00021 00022 class DtSimMessage; 00023 class DtSimulationAddress; 00024 class DtVrfMessageInterface; 00025 class DtIfStatus; 00026 class DtStealthRemoteController; 00027 00031 class DT_DLL_vrfcgf DtVrfStatusPublisher 00032 { 00033 public: 00034 00036 DtVrfStatusPublisher(DtVrfMessageInterface* messageIf); 00037 00039 virtual ~DtVrfStatusPublisher(); 00040 00041 virtual const DtSimulationAddress& address(); 00042 virtual void setAddress(const DtSimulationAddress& address); 00043 00044 virtual const DtTime& lastResponseTime(); 00045 virtual void setLastResponseTime(const DtTime& time); 00046 00047 virtual void sendStatus(const DtSimulationAddress& address); 00048 virtual void sendFinalStatus(); 00049 virtual void sendStatusToAll(); 00050 00052 virtual void setHeartbeatInterval(int heartbeatInterval); 00053 virtual int heartbeatInterval(); 00054 00056 virtual DtInetAddr ipAddress() const; 00057 virtual void setIpAddress(const DtInetAddr& addr); 00058 00060 virtual unsigned int port() const; 00061 virtual void setPort(unsigned int p); 00062 00064 virtual int controlState() const; 00065 virtual void setControlState(int state); 00066 00068 virtual void tick(); 00069 00071 virtual void processStatusRequestMessage(DtSimMessage * msg); 00072 00074 static void statusRequestCallback(DtSimMessage * msg, void * usr); 00075 00077 virtual bool isLoaded() const; 00078 virtual void setIsLoaded(bool loaded); 00079 00081 virtual bool isActive() const; 00082 virtual void setIsActive(bool active); 00083 00084 virtual bool canSimulate() const; 00085 virtual void setCanSimulate(bool canSimulate); 00086 00088 virtual DtTime exerciseStartTime() const; 00089 virtual void setExerciseStartTime(DtTime time); 00090 00093 virtual DtTime simTime() const; 00094 virtual void setSimTime(DtTime time); 00095 00097 virtual DtTime simStartSimTime() const; 00098 virtual void setSimStartSimTime(DtTime time); 00099 00102 virtual double timeMultiplier() const; 00103 virtual void setTimeMultiplier(double timeMultiplier); 00104 00107 virtual void setLoadedNewScenario(bool); 00108 virtual bool loadedNewScenario() const; 00109 00111 //virtual bool isOldParameterDb() const; 00112 //virtual void setIsOldParameterDb(bool isOldParameterDb); 00113 00115 virtual bool isCurrentParameterDb() const; 00116 virtual void setIsCurrentParameterDb(bool isCurrentParameterDb); 00117 00120 virtual bool isResourceMonitorEnabled() const; 00121 virtual void setIsResourceMonitorEnabled(bool isEnabled); 00122 00124 virtual void setStealthRemoteController(DtStealthRemoteController* c); 00125 virtual DtStealthRemoteController* stealthRemoteController() const; 00126 00129 virtual void setPublishSimulationTimeForStealth(bool b); 00130 virtual bool publishSimulationTimeForStealth() const; 00131 00132 virtual void setIsTimeManaged(bool yesNo); 00133 virtual bool isTimeManaged() const; 00134 00136 00137 virtual void setTerrainName(const DtString& name); 00138 virtual DtString terrainName() const; 00140 00141 virtual void setGuiTerrainName(const DtString& name); 00142 virtual DtString guiTerrainName() const; 00143 00145 00146 virtual void setScenarioName(const DtString& name); 00147 virtual DtString scenarioName() const; 00149 00153 virtual void setSendStatusOnChange(bool); 00154 virtual bool sendStatusOnChange() const; 00155 00156 protected: 00157 00159 virtual void publishStealthSimulationTime(); 00160 00162 DtVrfStatusPublisher(const DtVrfStatusPublisher& orig); 00163 00165 DtVrfStatusPublisher& operator=(const DtVrfStatusPublisher& orig); 00166 00167 protected: 00169 DtVrfMessageInterface* myMessageIf; 00170 int myHeartbeatInterval; 00171 00172 DtSimulationAddress myAddress; 00173 bool myIsActive; 00174 bool myCanSimulate; 00175 DtTime myLastResponseTime; 00176 bool myIsOldParameterDb; 00177 DtStealthRemoteController* myStealthRemoteController; 00178 bool myPublishSimulationTimeForStealth; 00179 bool myHasBeenModified; 00180 bool mySendStatusOnChange; 00181 bool myLoadedNewScenario; 00182 00183 DtIfStatus* myStatus; 00184 }; 00185 00186 #endif 00187