![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 #ifndef hExConnInit_H_ 00006 #define hExConnInit_H_ 00007 00011 00012 #if DtHLA 00013 00014 #include <vlutil/vlString.h> 00015 00016 #include <mtl/appSettings.h> 00017 #include <mtl/configVar.h> 00018 #include <mtl/multiVar.h> 00019 00020 00021 #include <cmdLine/cmdLine.h> 00022 #include "fomMapper.h" 00023 #include "hExerciseConn.h" 00024 00025 class DtMtlEnvironment; 00026 00027 00031 class DT_DLL_VL DtExerciseConnInitializer 00032 { 00033 public: 00035 DtExerciseConnInitializer(); 00036 00038 virtual ~DtExerciseConnInitializer(); 00039 00041 DtExerciseConnInitializer(const DtExerciseConnInitializer& orig); 00042 00044 DtExerciseConnInitializer& operator=(const DtExerciseConnInitializer& orig); 00045 00047 virtual DtString execName() const; 00048 00050 virtual void setExecName(const DtString& name); 00051 00052 #if DtHLA_1516_EVOLVED 00053 00054 00055 virtual DtString federateName() const; 00056 00058 virtual void setFederateName(const DtString& name); 00059 #endif 00060 00062 virtual DtString federateType() const; 00063 00066 virtual void setFederateType(const DtString& type); 00067 00069 virtual DtString fedFileName() const; 00070 00072 virtual void setFedFileName(const DtString& name); 00073 00075 virtual DtFomMapper* fomMapper() const; 00076 00078 virtual void setFomMapper(DtFomMapper* mapper); 00079 00082 virtual DtString fomMapperLibName() const; 00083 00085 virtual void setFomMapperLibName(const DtString& name); 00086 00088 virtual void* fomMapperInitData() const; 00089 00091 virtual void setFomMapperInitData(void* data); 00092 00099 virtual void setRprFomVersion(double version); 00100 00102 virtual double rprFomVersion() const; 00103 00104 00107 virtual void setReflecting(bool onOff); 00108 00110 virtual bool reflecting() const; 00111 00125 virtual void setReflectRemoteUpdatesIntoPub(bool onOff); 00126 00128 virtual bool reflectRemoteUpdatesIntoPub() const; 00129 00136 virtual void setReflectThroughRti(bool onOff); 00137 00139 virtual bool reflectThroughRti() const; 00140 00148 virtual void setUseAdvisories(bool onOff); 00149 00151 virtual bool useAdvisories() const; 00152 00158 virtual void setReplyToSynchPoints(bool onOff); 00159 00161 virtual bool replyToSynchPoints() const; 00162 00168 virtual void setAutoSubscribe(bool onOff); 00169 00171 virtual bool autoSubscribe() const; 00172 00176 virtual void setTimeStampType(DtTimeStampType relOrAbs); 00177 00179 virtual DtTimeStampType timeStampType() const; 00180 00186 virtual void setDestroyFedExec(bool onOff); 00187 00189 virtual bool destroyFedExec() const; 00190 00195 virtual void setSendFedTime(bool onOff); 00196 00198 virtual bool sendFedTime() const; 00199 00201 virtual void setNotifyLevel(int level); 00202 00204 virtual void setUseGeographicDdm(bool yesNo); 00205 00207 virtual bool useGeographicDdm() const; 00208 00214 virtual void setRprFomRevision(int val); 00217 virtual int rprFomRevision() const; 00218 00219 00220 #if DtHLA_1516_EVOLVED 00221 00223 virtual void setMimModule(const DtString& mimFomModule); 00225 virtual DtString mimModule() const; 00226 00228 virtual void addFomModule(const DtString& module); 00230 virtual void setFomModules(const std::vector<DtString>& fomModules); 00231 00233 virtual void fomModules(std::vector<DtString>& fomModules) const; 00235 virtual void fomModules(std::vector<std::wstring>& fomModules) const; 00236 00238 virtual void setLocalSettingsDesignator( const std::wstring & localSettingsDesignator ); 00240 virtual void setLocalSettingsDesignator( const DtString & localSettingsDesignator ); 00242 virtual std::wstring localSettingsDesignator() const; 00243 00244 #elif DtHLA_1516 00245 00247 virtual void setRtiArguments(const std::vector<std::wstring>& args); 00248 00250 virtual void setRtiArguments(const std::vector<DtString>& args); 00251 00253 virtual void rtiArguments(std::vector<std::wstring>& args) const; 00254 00255 #endif 00256 00259 private: 00260 DtString myExecName; 00261 DtString myFederateType; 00262 #if DtHLA_1516_EVOLVED 00263 DtString myFederateName; 00264 #endif 00265 DtFomMapper* myFomMapper; 00266 DtString myFomMapperLibName; 00267 void* myFomMapperInitData; 00268 double myRprFomVersion; 00269 bool myReflecting; 00270 bool myUseAdvisories; 00271 bool myReplyToSynchPoints; 00272 bool myAutoSubscribe; 00273 bool myReflectRemoteUpdatesIntoPub; 00274 bool myReflectThroughRti; 00275 DtTimeStampType myTimeStampType; 00276 bool myDestroyFedExec; 00277 bool mySendFedTime; 00278 bool myUseGeographicDdm; 00279 int myRprFomRevision; 00280 00281 #if DtHLA_1516_EVOLVED 00282 std::wstring myLocalSettingsDesignator; 00283 #elif DtHLA_1516 00284 std::vector<std::wstring> myRtiArguments; 00285 #endif 00286 00289 DtString myFedFileName; 00290 00293 std::vector<DtString> myFomModules; 00294 00295 DtString myMimModule; 00296 00297 }; 00298 00310 class DT_DLL_VL DtVrlApplicationInitializer : public DtExerciseConnInitializer 00311 { 00312 public: 00314 DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName, 00315 const DtString& version = DtExerciseConn::vrlinkVersion(), 00316 #ifdef _WIN32 00317 bool pressAnyKey = true); 00318 #else 00319 bool pressAnyKey = false); 00320 #endif 00321 00323 virtual ~DtVrlApplicationInitializer(); 00324 00326 virtual int argc() const; 00327 00329 virtual char** argv() const; 00330 00335 virtual void parseCmdLine(); 00336 00340 virtual void loadFile(const DtString& fileName); 00341 virtual void loadMtlFile(const DtString& fileName); 00342 00344 virtual void saveFile(const DtString& filename); 00345 00346 //{@ 00348 virtual void setExecName(const DtString& name); 00349 virtual DtString execName() const; 00351 00352 #if DtHLA_1516_EVOLVED 00353 //{@ 00356 virtual void setFederateName(const DtString& name); 00357 virtual DtString federateName() const; 00358 00360 virtual void setLocalSettingsDesignator(const DtString& name); 00361 virtual std::wstring localSettingsDesignator() const; 00362 00364 virtual void setMimModule(const DtString& mimFomModule); 00365 virtual DtString mimModule() const; 00367 #endif 00368 00369 //{@ 00371 virtual void setFederateType(const DtString& type); 00372 virtual DtString federateType() const; 00374 00375 //{@ 00377 void setFedFileName(const DtString& name); 00378 virtual DtString fedFileName() const; 00380 00381 //{@ 00383 virtual void setFomMapperLibName(const DtString& name); 00384 virtual DtString fomMapperLibName() const; 00386 00387 //{@ 00389 virtual void setRprFomVersion(double version); 00390 virtual double rprFomVersion() const; 00392 00393 //{@ 00395 virtual void* fomMapperInitData() const; 00396 virtual void setFomMapperInitData(void* data); 00398 00399 virtual void setUseAdvisories(bool onOff); 00400 00401 virtual bool useAdvisories() const; 00402 00406 virtual void setTimeStampType(DtTimeStampType relOrAbs); 00407 00409 virtual DtTimeStampType timeStampType() const; 00410 00416 virtual void setDestroyFedExec(bool onOff); 00417 00419 virtual bool destroyFedExec() const; 00420 00425 virtual void setSendFedTime(bool onOff); 00426 00428 virtual bool sendFedTime() const; 00429 00430 virtual void setUseGeographicDdm(bool yesNo); 00431 00432 virtual bool useGeographicDdm() const; 00433 00434 virtual void setRprFomRevision(int val); 00435 virtual int rprFomRevision() const; 00436 00437 protected: 00438 int myArgc; 00439 char** myArgv; 00440 DtMtlEnvironment* myMtlEnv; 00441 00442 virtual void initializeMtlParams(); 00443 00444 DtApplicationSettings mySettings; 00445 DtConfigVariable<int> myConfigVarNotifyLevel; 00446 DtVariableGroup myHlaConnection; 00447 DtConfigVariable<DtString> myConfigVarFederateType; 00448 DtConfigVariable<DtString> myConfigVarExecName; 00449 DtConfigVariable<DtString> myConfigVarFedFileName; 00450 #if DtHLA_1516_EVOLVED 00451 DtConfigVariable<DtString> myConfigVarFederateName; 00452 DtMultiConfigVariable<DtString> myConfigVarFomModules; 00453 DtConfigVariable<DtString> myConfigVarMimModule; 00454 DtConfigVariable<DtString> myConfigVarLocalSettingsDesignator; 00455 #endif 00456 DtConfigVariable<DtString> myConfigVarFomMapperLibName; 00457 DtConfigVariable<DtString> myConfigVarFomMapperInitData; 00458 DtConfigVariable<double> myConfigVarRprFomVersion; 00459 DtConfigVariable<int> myConfigVarRprFomRevision; 00460 DtConfigVariable<bool> myConfigVarUseAdvisories; 00461 DtConfigVariable<bool> myConfigVarIgnoreAdvisories; 00462 DtConfigVariable<bool> myConfigVarUseGeographicDdm; 00463 DtConfigVariable<bool> myConfigVarUseAbsoluteTimestamps; 00464 DtConfigVariable<bool> myConfigVarDestroyFedExec; 00465 DtConfigVariable<bool> myConfigVarSendFedTime; 00466 00467 int myMtlUseAdvisories; 00468 int myMtlUseGeographicDdm; 00469 int myMtlUseAbsoluteTimeStamps; 00470 int myMtlDestroyFedExec; 00471 int myMtlSendFedTime; 00472 }; 00473 00474 #endif //! #if DtHLA 00475 #endif //! #ifndef _hExConnInit_H_ 00476