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 MAK Technologies, Inc
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-10_evolved.xml"
30 #elif defined(DtHLA_1516)
31 #define DtDefaultRpr2Fom "MAK-RPR2-1-10.xml"
32 #define DtDefaultRpr1Fom "MAK-RPR1-1-10.xml"
33 #else //HLA 1.3
34 #define DtDefaultRpr2Fom "MAK-RPR2-1-10.fed"
35 #define DtDefaultRpr1Fom "MAK-RPR1-1-10.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 
129  virtual void setNetnFomVersion(double version);
130 
132  virtual double netnFomVersion() const;
133 
136  virtual void setReflecting(bool onOff);
137 
139  virtual bool reflecting() const;
140 
143  virtual void setPassiveMode(bool onOff);
144 
146  virtual bool passiveMode() const;
147 
161  virtual void setReflectRemoteUpdatesIntoPub(bool onOff);
162 
164  virtual bool reflectRemoteUpdatesIntoPub() const;
165 
172  virtual void setReflectThroughRti(bool onOff);
173 
175  virtual bool reflectThroughRti() const;
176 
184  virtual void setUseAdvisories(bool onOff);
185 
187  virtual bool useAdvisories() const;
188 
194  virtual void setReplyToSynchPoints(bool onOff);
195 
197  virtual bool replyToSynchPoints() const;
198 
204  virtual void setAutoSubscribe(bool onOff);
205 
207  virtual bool autoSubscribe() const;
208 
214  virtual void setRequestClassUpdate(bool onOff);
215 
217  virtual bool requestClassUpdate() const;
218 
223  virtual void setRequestObjectUpdate(bool onOff);
224 
226  virtual bool requestObjectUpdate() const;
227 
239  virtual void setRequestWhenInitialized(bool onOff);
240 
242  virtual bool requestWhenInitialized() const;
243 
255  virtual void setDefaultRefreshWaitList(bool onOff);
256 
258  virtual bool defaultRefreshWaitList() const;
259 
264  virtual void setDefaultWaitListRefreshPeriod(double period);
265 
267  virtual double defaultWaitListRefreshPeriod() const;
268 
272  virtual void setTimeStampType(DtTimeStampType relOrAbs);
273 
275  virtual DtTimeStampType timeStampType() const;
276 
278  virtual bool dis5Timestamps() const;
279 
281  virtual void setDis5Timestamps(bool onOff);
282 
288  virtual void setDestroyFedExec(bool onOff);
289 
291  virtual bool destroyFedExec() const;
292 
297  virtual void setSendFedTime(bool onOff);
298 
300  virtual bool sendFedTime() const;
301 
303  virtual void setNotifyLevel(int level);
304 
306  virtual void setUseGeographicDdm(bool yesNo);
307 
309  virtual bool useGeographicDdm() const;
310 
316  virtual void setRprFomRevision(int val);
319  virtual int rprFomRevision() const;
320 
322  virtual void setNetnFomRevision(int val);
324  virtual int netnFomRevision() const;
325 
331  virtual void setExceptionOnRtiCompilerMismatch( bool useException );
332 
333  virtual bool exceptionOnRtiCompilerMismatch() const;
334 
346 
347  virtual void setGetValueMethod( DtGetValueMethod getValueMethodChoice );
348  virtual DtGetValueMethod getValueMethod( ) const;
350 
356 
357  virtual void setGenericAttributes(bool yesNo);
358  virtual bool enabledGenericAttributes() const;
360 
361 
363 
364  virtual bool pauseOnSaveRestore() const;
365  virtual void setPauseOnSaveRestore(bool yesNo);
367 
368 #if DtHLA_1516_EVOLVED
369 
371  virtual void setMimModule(const DtString& mimFomModule);
373  virtual DtString mimModule() const;
374 
376  virtual void addFomModule(const DtString& module);
378  virtual void setFomModules(const std::vector<DtString>& fomModules);
379 
381  virtual void fomModules(std::vector<DtString>& fomModules) const;
383  virtual void fomModules(std::vector<std::wstring>& fomModules) const;
384 
386  virtual void setLocalSettingsDesignator( const std::wstring & localSettingsDesignator );
388  virtual void setLocalSettingsDesignator( const DtString & localSettingsDesignator );
390  virtual std::wstring localSettingsDesignator() const;
391 
392 
393 #elif DtHLA_1516
394 
396  virtual void setRtiArguments(const std::vector<std::wstring>& args);
397 
399  virtual void setRtiArguments(const std::vector<DtString>& args);
400 
402  virtual void rtiArguments(std::vector<std::wstring>& args) const;
403 
404 #endif
405 
406 public:
407 
409  static DtString vrlinkVersion();
410 
413 private:
414  DtString myExecName;
415  DtString myFederateType;
416  DtString myFederateName;
417  DtFomMapper* myFomMapper;
418  DtString myFomMapperLibName;
419  void* myFomMapperInitData;
420  double myRprFomVersion;
421  double myNetnFomVersion;
422  bool myReflecting;
423  bool myPassiveMode;
424  bool myUseAdvisories;
425  bool myReplyToSynchPoints;
426  bool myAutoSubscribe;
427  bool myRequestClassUpdate;
428  bool myRequestObjectUpdate;
429  bool myRequestWhenInitialized;
430  bool myDefaultRefreshWaitList;
431  double myDefaultWaitListRefreshPeriod;
432  bool myReflectRemoteUpdatesIntoPub;
433  bool myReflectThroughRti;
434  DtTimeStampType myTimeStampType;
435  bool myDestroyFedExec;
436  bool mySendFedTime;
437  bool myPauseOnSaveRestore;
438  bool myGenericAttributes;
439  bool myUseGeographicDdm;
440  int myRprFomRevision;
441  int myNetnFomRevision;
442  bool myExceptionOnRtiCompilerMismatch;
443  DtGetValueMethod myGetValueMethod;
444  bool myDis5TimeStamps;
445 
446 
447 #if DtHLA_1516_EVOLVED
448  std::wstring myLocalSettingsDesignator;
449 #elif DtHLA_1516
450  std::vector<std::wstring> myRtiArguments;
451 #endif
452 
455  DtString myFedFileName;
456 
459  std::vector<DtString> myFomModules;
460 
461  DtString myMimModule;
462 
463 };
464 
477 {
478 public:
480  DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName,
482 #ifdef _WIN32
483  bool pressAnyKey = true);
484 #else
485  bool pressAnyKey = false);
486 #endif
487 
489  virtual ~DtVrlApplicationInitializer();
490 
492  virtual int argc() const;
493 
495  virtual char** argv() const;
496 
501  virtual void parseCmdLine();
502 
506  virtual void loadFile(const DtString& fileName);
507  virtual void loadMtlFile(const DtString& fileName);
508 
510  virtual void saveFile(const DtString& filename);
511 
512  //{@
514  virtual void setExecName(const DtString& name);
515  virtual DtString execName() const;
517 
518  //{@
521  virtual void setFederateName(const DtString& name);
522  virtual DtString federateName() const;
524 
525 #if DtHLA_1516_EVOLVED
526  //{@
529  virtual void setLocalSettingsDesignator(const DtString& name);
530  virtual std::wstring localSettingsDesignator() const;
531 
534  virtual void setMimModule(const DtString& mimFomModule);
535  virtual DtString mimModule() const;
537 
538 #endif
539 
540  //{@
542  virtual void setNotifyFileLevel(int level);
543  virtual int notifyFileLevel() const;
545 
546  //{@
548  virtual void setNotifyFilename(const DtString& file);
549  virtual DtString notifyFilename() const;
551 
552  //{@
554  virtual void setFederateType(const DtString& type);
555  virtual DtString federateType() const;
557 
558  //{@
560  void setFedFileName(const DtString& name);
561  virtual DtString fedFileName() const;
563 
564  //{@
566  virtual void setFomMapperLibName(const DtString& name);
567  virtual DtString fomMapperLibName() const;
569 
570  //{@
572  virtual void setRprFomVersion(double version);
573  virtual double rprFomVersion() const;
575 
576  //{@
578  virtual void setNetnFomVersion(double version);
579  virtual double netnFomVersion() const;
581 
582  //{@
584  virtual void* fomMapperInitData() const;
585  virtual void setFomMapperInitData(void* data);
587 
588  //{@
590  virtual void setUseAdvisories(bool onOff);
591  virtual bool useAdvisories() const;
593 
594  //{@
596  virtual void setUseDis5Timestamps(bool onOff);
597  virtual bool useDis5TimeStamps() const;
599 
600  //{@
602  virtual void setRequestClassUpdate(bool onOff);
603  virtual bool requestClassUpdate() const;
605 
606 
607  //{@
609  virtual void setRequestObjectUpdate(bool onOff);
610  virtual bool requestObjectUpdate() const;
612 
613  //{@
615  virtual void setRequestWhenInitialized(bool onOff);
616  virtual bool requestWhenInitialized() const;
618 
619  //{@
621  virtual void setDefaultRefreshWaitList(bool onOff);
622  virtual bool defaultRefreshWaitList() const;
624 
625  //{@
627  virtual void setDefaultWaitListRefreshPeriod(double period);
628  virtual double defaultWaitListRefreshPeriod() const;
630 
634  virtual void setTimeStampType(DtTimeStampType relOrAbs);
635 
637  virtual DtTimeStampType timeStampType() const;
638 
644  virtual void setDestroyFedExec(bool onOff);
645 
647  virtual bool destroyFedExec() const;
648 
653  virtual void setSendFedTime(bool onOff);
654 
656  virtual bool sendFedTime() const;
657 
658  virtual void setUseGeographicDdm(bool yesNo);
659 
660  virtual bool useGeographicDdm() const;
661 
663  virtual void setRprFomRevision(int val);
664 
666  virtual int rprFomRevision() const;
667 
669  virtual void setNetnFomRevision(int val);
670 
672  virtual int netnFomRevision() const;
673 
679  virtual void setGenericAttributes(bool yesNo);
680  virtual bool enabledGenericAttributes() const;
681 
683 
684  virtual bool pauseOnSaveRestore() const;
685  virtual void setPauseOnSaveRestore(bool yesNo);
686 
687  virtual void setExceptionOnRtiCompilerMismatch(bool yesNo);
688  virtual bool exceptionOnRtiCompilerMismatch() const;
690 
695  virtual void setOutputInterval(double period);
696 
698  virtual double outputInterval() const;
699 
700 protected:
702  virtual void initializeFileLogging();
703 
704 protected:
705  int myArgc;
706  char** myArgv;
707  DtMtlEnvironment* myMtlEnv;
708 
709  virtual void initializeMtlParams();
710 
711  DtApplicationSettings mySettings;
712  DtConfigVariable<int> myConfigVarNotifyLevel;
713  DtVariableGroup myHlaConnection;
714  DtConfigVariable<DtString> myConfigVarFederateType;
715  DtConfigVariable<DtString> myConfigVarExecName;
716  DtConfigVariable<DtString> myConfigVarFedFileName;
717  DtConfigVariable<DtString> myConfigVarFederateName;
718 #if DtHLA_1516_EVOLVED
719  DtMultiConfigVariable<DtString> myConfigVarFomModules;
720  DtConfigVariable<DtString> myConfigVarMimModule;
721  DtConfigVariable<DtString> myConfigVarLocalSettingsDesignator;
722 #endif
723  DtConfigVariable<DtString> myConfigVarFomMapperLibName;
724  DtConfigVariable<DtString> myConfigVarFomMapperInitData;
725  DtConfigVariable<double> myConfigVarRprFomVersion;
726  DtConfigVariable<int> myConfigVarRprFomRevision;
727  DtConfigVariable<double> myConfigVarNetnFomVersion;
728  DtConfigVariable<int> myConfigVarNetnFomRevision;
729  DtConfigVariable<bool> myConfigVarUseAdvisories;
730  DtConfigVariable<bool> myConfigVarRequestClassUpdate;
731  DtConfigVariable<bool> myConfigVarRequestObjectUpdate;
732  DtConfigVariable<bool> myConfigVarRequestWhenInitialized;
733  DtConfigVariable<bool> myConfigVarDefaultRefreshWaitList;
734  DtConfigVariable<double> myConfigVarDefaultWaitListRefreshPeriod;
735 
736  DtConfigVariable<bool> myConfigVarIgnoreAdvisories;
737  DtConfigVariable<bool> myConfigVarUseGeographicDdm;
738  DtConfigVariable<bool> myConfigVarUseAbsoluteTimestamps;
739  DtConfigVariable<bool> myConfigVarDestroyFedExec;
740  DtConfigVariable<bool> myConfigVarSendFedTime;
741  DtConfigVariable<bool> myConfigVarGenericAttributes;
742  DtConfigVariable<bool> myConfigVarPauseOnSaveRestore;
743  DtConfigVariable<bool> myConfigVarRtiCompilerCheck;
744  DtConfigVariable<int> myConfigVarNotifyFileLevel;
745  DtConfigVariable<DtString> myConfigVarNotifyFilename;
746  DtConfigVariable<double> myConfigVarOutputInterval;
747  DtConfigVariable<bool> myConfigVarDis5TimeStamps;
748 
749  // If logging is turned on, this printer will remain in memory
750  // even after this class is destroyed. Otherwise we would
751  // have to stop logging prematurely.
752  DtFilePrinter* myLogFilePrinter;
753 
754  // MTL doesn't support boolean
755  int myMtlUseAdvisories;
756  int myMtlUseGeographicDdm;
757  int myMtlUseAbsoluteTimeStamps;
758  int myMtlDestroyFedExec;
759  int myMtlSendFedTime;
760  int myMtlPauseOnSaveRestore;
761  int myMtlRequestClassUpdate;
762  int myMtlRequestObjectUpdate;
763  int myMtlRequestWhenInitialized;
764  int myMtlDefaultRefreshWaitList;
765 
766 };
767 
768 #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:209
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 Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)