VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
exerciseConnInitializerHLA.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2017 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtHLA
13 
14 #include <vlutil/vlString.h>
15 
17 #include <mtl/configVariable.h>
19 
20 
21 #include <cmdLine/cmdLine.h>
22 #include "fomMapper.h"
23 
24 class DtMtlEnvironment;
25 
26 
27 #if defined (DtHLA_1516_EVOLVED)
28 #define DtDefaultRpr2Fom "RPR_FOM_v2.0_1516-2010.xml"
29 #define DtDefaultRpr1Fom "MAK-RPR1-1-6_evolved.xml"
30 #elif defined(DtHLA_1516)
31 #define DtDefaultRpr2Fom "MAK-RPR2-1-6.xml"
32 #define DtDefaultRpr1Fom "MAK-RPR1-1-6.xml"
33 #else //HLA 1.3
34 #define DtDefaultRpr2Fom "MAK-RPR2-1-6.fed"
35 #define DtDefaultRpr1Fom "MAK-RPR1-1-6.fed"
36 #endif
37 
42 {
43 public:
44 
47  enum DtGetValueMethod
48  {
49  DtForceGetValue,
50  DtForceGetValuePointer,
51  DtGetValuePointerWhereAvailable
52  };
53 
54 public:
57 
59  virtual ~DtExerciseConnInitializer();
60 
63 
66 
68  virtual DtString execName() const;
69 
71  virtual void setExecName(const DtString& name);
72 
75  virtual DtString federateName() const;
76 
79  virtual void setFederateName(const DtString& name);
80 
82  virtual DtString federateType() const;
83 
86  virtual void setFederateType(const DtString& type);
87 
89  virtual DtString fedFileName() const;
90 
92  virtual void setFedFileName(const DtString& name);
93 
95  virtual DtFomMapper* fomMapper() const;
96 
98  virtual void setFomMapper(DtFomMapper* mapper);
99 
102  virtual DtString fomMapperLibName() const;
103 
105  virtual void setFomMapperLibName(const DtString& name);
106 
108  virtual void* fomMapperInitData() const;
109 
111  virtual void setFomMapperInitData(void* data);
112 
119  virtual void setRprFomVersion(double version);
120 
122  virtual double rprFomVersion() const;
123 
126  virtual void setReflecting(bool onOff);
127 
129  virtual bool reflecting() const;
130 
133  virtual void setPassiveMode(bool onOff);
134 
136  virtual bool passiveMode() const;
137 
151  virtual void setReflectRemoteUpdatesIntoPub(bool onOff);
152 
154  virtual bool reflectRemoteUpdatesIntoPub() const;
155 
162  virtual void setReflectThroughRti(bool onOff);
163 
165  virtual bool reflectThroughRti() const;
166 
174  virtual void setUseAdvisories(bool onOff);
175 
177  virtual bool useAdvisories() const;
178 
184  virtual void setReplyToSynchPoints(bool onOff);
185 
187  virtual bool replyToSynchPoints() const;
188 
194  virtual void setAutoSubscribe(bool onOff);
195 
197  virtual bool autoSubscribe() const;
198 
202  virtual void setTimeStampType(DtTimeStampType relOrAbs);
203 
205  virtual DtTimeStampType timeStampType() const;
206 
212  virtual void setDestroyFedExec(bool onOff);
213 
215  virtual bool destroyFedExec() const;
216 
221  virtual void setSendFedTime(bool onOff);
222 
224  virtual bool sendFedTime() const;
225 
227  virtual void setNotifyLevel(int level);
228 
230  virtual void setUseGeographicDdm(bool yesNo);
231 
233  virtual bool useGeographicDdm() const;
234 
240  virtual void setRprFomRevision(int val);
243  virtual int rprFomRevision() const;
244 
250  virtual void setExceptionOnRtiCompilerMismatch( bool useException );
251 
252  virtual bool exceptionOnRtiCompilerMismatch() const;
253 
265 
266  virtual void setGetValueMethod( DtGetValueMethod getValueMethodChoice );
267  virtual DtGetValueMethod getValueMethod( ) const;
269 
275 
276  virtual void setGenericAttributes(bool yesNo);
277  virtual bool enabledGenericAttributes() const;
279 
280 
282 
283  virtual bool pauseOnSaveRestore() const;
284  virtual void setPauseOnSaveRestore(bool yesNo);
286 
287 #if DtHLA_1516_EVOLVED
288 
290  virtual void setMimModule(const DtString& mimFomModule);
292  virtual DtString mimModule() const;
293 
295  virtual void addFomModule(const DtString& module);
297  virtual void setFomModules(const std::vector<DtString>& fomModules);
298 
300  virtual void fomModules(std::vector<DtString>& fomModules) const;
302  virtual void fomModules(std::vector<std::wstring>& fomModules) const;
303 
305  virtual void setLocalSettingsDesignator( const std::wstring & localSettingsDesignator );
307  virtual void setLocalSettingsDesignator( const DtString & localSettingsDesignator );
309  virtual std::wstring localSettingsDesignator() const;
310 
311 #elif DtHLA_1516
312 
314  virtual void setRtiArguments(const std::vector<std::wstring>& args);
315 
317  virtual void setRtiArguments(const std::vector<DtString>& args);
318 
320  virtual void rtiArguments(std::vector<std::wstring>& args) const;
321 
322 #endif
323 
324 public:
325 
327  static DtString vrlinkVersion();
328 
331 private:
332  DtString myExecName;
333  DtString myFederateType;
334  DtString myFederateName;
335  DtFomMapper* myFomMapper;
336  DtString myFomMapperLibName;
337  void* myFomMapperInitData;
338  double myRprFomVersion;
339  bool myReflecting;
340  bool myPassiveMode;
341  bool myUseAdvisories;
342  bool myReplyToSynchPoints;
343  bool myAutoSubscribe;
344  bool myReflectRemoteUpdatesIntoPub;
345  bool myReflectThroughRti;
346  DtTimeStampType myTimeStampType;
347  bool myDestroyFedExec;
348  bool mySendFedTime;
349  bool myPauseOnSaveRestore;
350  bool myGenericAttributes;
351  bool myUseGeographicDdm;
352  int myRprFomRevision;
353  bool myExceptionOnRtiCompilerMismatch;
354  DtGetValueMethod myGetValueMethod;
355 
356 
357 #if DtHLA_1516_EVOLVED
358  std::wstring myLocalSettingsDesignator;
359 #elif DtHLA_1516
360  std::vector<std::wstring> myRtiArguments;
361 #endif
362 
365  DtString myFedFileName;
366 
369  std::vector<DtString> myFomModules;
370 
371  DtString myMimModule;
372 
373 };
374 
387 {
388 public:
390  DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName,
392 #ifdef _WIN32
393  bool pressAnyKey = true);
394 #else
395  bool pressAnyKey = false);
396 #endif
397 
399  virtual ~DtVrlApplicationInitializer();
400 
402  virtual int argc() const;
403 
405  virtual char** argv() const;
406 
411  virtual void parseCmdLine();
412 
416  virtual void loadFile(const DtString& fileName);
417  virtual void loadMtlFile(const DtString& fileName);
418 
420  virtual void saveFile(const DtString& filename);
421 
422  //{@
424  virtual void setExecName(const DtString& name);
425  virtual DtString execName() const;
427 
428  //{@
431  virtual void setFederateName(const DtString& name);
432  virtual DtString federateName() const;
434 
435 #if DtHLA_1516_EVOLVED
436  //{@
439  virtual void setLocalSettingsDesignator(const DtString& name);
440  virtual std::wstring localSettingsDesignator() const;
441 
444  virtual void setMimModule(const DtString& mimFomModule);
445  virtual DtString mimModule() const;
447 #endif
448 
449  //{@
451  virtual void setNotifyFileLevel(int level);
452  virtual int notifyFileLevel() const;
454 
455  //{@
457  virtual void setNotifyFilename(const DtString& file);
458  virtual DtString notifyFilename() const;
460 
461  //{@
463  virtual void setFederateType(const DtString& type);
464  virtual DtString federateType() const;
466 
467  //{@
469  void setFedFileName(const DtString& name);
470  virtual DtString fedFileName() const;
472 
473  //{@
475  virtual void setFomMapperLibName(const DtString& name);
476  virtual DtString fomMapperLibName() const;
478 
479  //{@
481  virtual void setRprFomVersion(double version);
482  virtual double rprFomVersion() const;
484 
485  //{@
487  virtual void* fomMapperInitData() const;
488  virtual void setFomMapperInitData(void* data);
490 
491  virtual void setUseAdvisories(bool onOff);
492 
493  virtual bool useAdvisories() const;
494 
498  virtual void setTimeStampType(DtTimeStampType relOrAbs);
499 
501  virtual DtTimeStampType timeStampType() const;
502 
508  virtual void setDestroyFedExec(bool onOff);
509 
511  virtual bool destroyFedExec() const;
512 
517  virtual void setSendFedTime(bool onOff);
518 
520  virtual bool sendFedTime() const;
521 
522  virtual void setUseGeographicDdm(bool yesNo);
523 
524  virtual bool useGeographicDdm() const;
525 
526  virtual void setRprFomRevision(int val);
527  virtual int rprFomRevision() const;
528 
534  virtual void setGenericAttributes(bool yesNo);
535  virtual bool enabledGenericAttributes() const;
536 
538 
539  virtual bool pauseOnSaveRestore() const;
540  virtual void setPauseOnSaveRestore(bool yesNo);
541 
542  virtual void setExceptionOnRtiCompilerMismatch(bool yesNo);
543  virtual bool exceptionOnRtiCompilerMismatch() const;
545 
546 protected:
548  virtual void initializeFileLogging();
549 
550 protected:
551  int myArgc;
552  char** myArgv;
553  DtMtlEnvironment* myMtlEnv;
554 
555  virtual void initializeMtlParams();
556 
557  DtApplicationSettings mySettings;
558  DtConfigVariable<int> myConfigVarNotifyLevel;
559  DtVariableGroup myHlaConnection;
560  DtConfigVariable<DtString> myConfigVarFederateType;
561  DtConfigVariable<DtString> myConfigVarExecName;
562  DtConfigVariable<DtString> myConfigVarFedFileName;
563  DtConfigVariable<DtString> myConfigVarFederateName;
564 #if DtHLA_1516_EVOLVED
565  DtMultiConfigVariable<DtString> myConfigVarFomModules;
566  DtConfigVariable<DtString> myConfigVarMimModule;
567  DtConfigVariable<DtString> myConfigVarLocalSettingsDesignator;
568 #endif
569  DtConfigVariable<DtString> myConfigVarFomMapperLibName;
570  DtConfigVariable<DtString> myConfigVarFomMapperInitData;
571  DtConfigVariable<double> myConfigVarRprFomVersion;
572  DtConfigVariable<int> myConfigVarRprFomRevision;
573  DtConfigVariable<bool> myConfigVarUseAdvisories;
574  DtConfigVariable<bool> myConfigVarIgnoreAdvisories;
575  DtConfigVariable<bool> myConfigVarUseGeographicDdm;
576  DtConfigVariable<bool> myConfigVarUseAbsoluteTimestamps;
577  DtConfigVariable<bool> myConfigVarDestroyFedExec;
578  DtConfigVariable<bool> myConfigVarSendFedTime;
579  DtConfigVariable<bool> myConfigVarGenericAttributes;
580  DtConfigVariable<bool> myConfigVarPauseOnSaveRestore;
581  DtConfigVariable<bool> myConfigVarRtiCompilerCheck;
582  DtConfigVariable<int> myConfigVarNotifyFileLevel;
583  DtConfigVariable<DtString> myConfigVarNotifyFilename;
584 
585  // If logging is turned on, this printer will remain in memory
586  // even after this class is destroyed. Otherwise we would
587  // have to stop logging prematurely.
588  DtFilePrinter* myLogFilePrinter;
589 
590  int myMtlUseAdvisories;
591  int myMtlUseGeographicDdm;
592  int myMtlUseAbsoluteTimeStamps;
593  int myMtlDestroyFedExec;
594  int myMtlSendFedTime;
595  int myMtlPauseOnSaveRestore;
596 };
597 
598 #endif // DtHLA
command line support
Definition: mtlEnvironment.h:42
Contains the DtApplicationSettings class declaration.
Definition: applicationSettings.h:24
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtExerciseConnInitializer are used to provide the DtExerciseConn with initialization dat...
Definition: exerciseConnInitializerDIS.h:36
Contains the DtString class declaration.
DtFilePrinter is a subclass of DtPrinter which opens a file and dumps all information received from D...
Definition: vlPrint.h:80
This file declares DtFomMapper.
static DtString vrlinkVersion()
Returns a string indicating the VR-Link version number.
virtual DtTimeStampType timeStampType() const
Get the time stamp type.
Contains the DtMultiConfigVariable class declaration.
Contains the DtConfigVariable class declaration.
Instances of DtVrlApplicationInitializer are used to initialize the exercise connection with command ...
Definition: exerciseConnInitializerDIS.h:202
This file declares the class DtCmdLine::CmdLine.
virtual void setTimeStampType(DtTimeStampType relOrAbs)
Set the time stamp type (DtTimeStampAbsolute or DtTimeStampRelative).
Represents a group of variables.
Definition: variableGroup.h:21
DtTimeStampType
Definition: vlTimeStampType.h:16
Instances of DtString are used to represent strings.
Definition: vlString.h:29

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)