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) 1992-2025 MAK Technologies, Inc
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtHLA
13 
14 #include "fomMapper.h"
15 
16 #include <vlutil/vlString.h>
17 
19 #include <mtl/configVariable.h>
21 
23 
24 #include <cmdLine/cmdLine.h>
25 
26 class DtMtlEnvironment;
27 
28 
29 #if defined (DtHLA_1516_EVOLVED)
30 #define DtDefaultRpr2Fom "RPR_FOM_v2.0_1516-2010.xml"
31 #define DtDefaultRpr1Fom "MAK-RPR1-1-10_evolved.xml"
32 #elif defined(DtHLA_1516)
33 #define DtDefaultRpr2Fom "MAK-RPR2-1-10.xml"
34 #define DtDefaultRpr1Fom "MAK-RPR1-1-10.xml"
35 #else //HLA 1.3
36 #define DtDefaultRpr2Fom "MAK-RPR2-1-10.fed"
37 #define DtDefaultRpr1Fom "MAK-RPR1-1-10.fed"
38 #endif
39 
44 {
45 public:
46 
49  enum DtGetValueMethod
50  {
51  DtForceGetValue,
52  DtForceGetValuePointer,
53  DtGetValuePointerWhereAvailable
54  };
55 
56 public:
59 
61  virtual ~DtExerciseConnInitializer();
62 
65 
68 
70  virtual DtString execName() const;
71 
73  virtual void setExecName(const DtString& name);
74 
77  virtual DtString federateName() const;
78 
81  virtual void setFederateName(const DtString& name);
82 
84  virtual DtString federateType() const;
85 
88  virtual void setFederateType(const DtString& type);
89 
91  virtual DtString fedFileName() const;
92 
94  virtual void setFedFileName(const DtString& name);
95 
97  virtual DtFomMapper* fomMapper() const;
98 
100  virtual void setFomMapper(DtFomMapper* mapper);
101 
104  virtual DtString fomMapperLibName() const;
105 
107  virtual void setFomMapperLibName(const DtString& name);
108 
110  virtual void* fomMapperInitData() const;
111 
113  virtual void setFomMapperInitData(void* data);
114 
115 
116  //{@
118  virtual void setApplicationNumber(int id);
119  virtual int applicationNumber() const;
121 
122  //{@
124  virtual void setSiteId(int id);
125  virtual int siteId() const;
127 
134  virtual void setRprFomVersion(double version);
135 
137  virtual double rprFomVersion() const;
138 
144  virtual void setNetnFomVersion(double version);
145 
147  virtual double netnFomVersion() const;
148 
151  virtual void setReflecting(bool onOff);
152 
154  virtual bool reflecting() const;
155 
158  virtual void setPassiveMode(bool onOff);
159 
161  virtual bool passiveMode() const;
162 
176  virtual void setReflectRemoteUpdatesIntoPub(bool onOff);
177 
179  virtual bool reflectRemoteUpdatesIntoPub() const;
180 
187  virtual void setReflectThroughRti(bool onOff);
188 
190  virtual bool reflectThroughRti() const;
191 
199  virtual void setUseAdvisories(bool onOff);
200 
202  virtual bool useAdvisories() const;
203 
209  virtual void setReplyToSynchPoints(bool onOff);
210 
212  virtual bool replyToSynchPoints() const;
213 
219  virtual void setAutoSubscribe(bool onOff);
220 
222  virtual bool autoSubscribe() const;
223 
229  virtual void setRequestClassUpdate(bool onOff);
230 
232  virtual bool requestClassUpdate() const;
233 
238  virtual void setRequestObjectUpdate(bool onOff);
239 
241  virtual bool requestObjectUpdate() const;
242 
254  virtual void setRequestWhenInitialized(bool onOff);
255 
257  virtual bool requestWhenInitialized() const;
258 
270  virtual void setDefaultRefreshWaitList(bool onOff);
271 
273  virtual bool defaultRefreshWaitList() const;
274 
279  virtual void setDefaultWaitListRefreshPeriod(double period);
280 
282  virtual double defaultWaitListRefreshPeriod() const;
283 
287  virtual void setTimeStampType(DtTimeStampType relOrAbs);
288 
290  virtual DtTimeStampType timeStampType() const;
291 
293  virtual bool dis5Timestamps() const;
294 
296  virtual void setDis5Timestamps(bool onOff);
297 
303  virtual void setDestroyFedExec(bool onOff);
304 
306  virtual bool destroyFedExec() const;
307 
312  virtual void setSendFedTime(bool onOff);
313 
315  virtual bool sendFedTime() const;
316 
318  virtual void setNotifyLevel(int level);
319 
321  virtual void setUseGeographicDdm(bool yesNo);
322 
324  virtual bool useGeographicDdm() const;
325 
331  virtual void setRprFomRevision(int val);
334  virtual int rprFomRevision() const;
335 
337  virtual void setNetnFomRevision(int val);
339  virtual int netnFomRevision() const;
340 
346  virtual void setExceptionOnRtiCompilerMismatch( bool useException );
347 
348  virtual bool exceptionOnRtiCompilerMismatch() const;
349 
361 
362  virtual void setGetValueMethod( DtGetValueMethod getValueMethodChoice );
363  virtual DtGetValueMethod getValueMethod( ) const;
365 
371 
372  virtual void setGenericAttributes(bool yesNo);
373  virtual bool enabledGenericAttributes() const;
375 
376 
378 
379  virtual bool pauseOnSaveRestore() const;
380  virtual void setPauseOnSaveRestore(bool yesNo);
382 
383 #if DtHLA_1516_EVOLVED
384 
386  virtual void setMimModule(const DtString& mimFomModule);
388  virtual DtString mimModule() const;
389 
391  virtual void addFomModule(const DtString& module);
393  virtual void setFomModules(const std::vector<DtString>& fomModules);
394 
396  virtual void fomModules(std::vector<DtString>& fomModules) const;
398  virtual void fomModules(std::vector<std::wstring>& fomModules) const;
399 
401  virtual void clearFomModules();
402 
404  virtual void setLocalSettingsDesignator( const std::wstring & localSettingsDesignator );
406  virtual void setLocalSettingsDesignator( const DtString & localSettingsDesignator );
408  virtual std::wstring localSettingsDesignator() const;
409 
410 
411 #elif DtHLA_1516
412 
414  virtual void setRtiArguments(const std::vector<std::wstring>& args);
415 
417  virtual void setRtiArguments(const std::vector<DtString>& args);
418 
420  virtual void rtiArguments(std::vector<std::wstring>& args) const;
421 
422 #endif
423 
424 public:
425 
427  static DtString vrlinkVersion();
428 
431 private:
432  DtString myExecName;
433  DtString myFederateType;
434  DtString myFederateName;
435  DtFomMapper* myFomMapper;
436  DtString myFomMapperLibName;
437  void* myFomMapperInitData;
438  double myRprFomVersion;
439  double myNetnFomVersion;
440  bool myReflecting;
441  bool myPassiveMode;
442  bool myUseAdvisories;
443  bool myReplyToSynchPoints;
444  bool myAutoSubscribe;
445  bool myRequestClassUpdate;
446  bool myRequestObjectUpdate;
447  bool myRequestWhenInitialized;
448  bool myDefaultRefreshWaitList;
449  double myDefaultWaitListRefreshPeriod;
450  bool myReflectRemoteUpdatesIntoPub;
451  bool myReflectThroughRti;
452  DtTimeStampType myTimeStampType;
453  bool myDestroyFedExec;
454  bool mySendFedTime;
455  bool myPauseOnSaveRestore;
456  bool myGenericAttributes;
457  bool myUseGeographicDdm;
458  int myRprFomRevision;
459  int myNetnFomRevision;
460  int mySiteId;
461  int myApplicationNumber;
462  bool myExceptionOnRtiCompilerMismatch;
463  DtGetValueMethod myGetValueMethod;
464  bool myDis5TimeStamps;
465 
466 
467 #if DtHLA_1516_EVOLVED
468  std::wstring myLocalSettingsDesignator;
469 #elif DtHLA_1516
470  std::vector<std::wstring> myRtiArguments;
471 #endif
472 
475  DtString myFedFileName;
476 
479  std::vector<DtString> myFomModules;
480 
481  DtString myMimModule;
482 
483 };
484 
497 {
498 public:
500  DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName,
501  const DtString& defaultConfigFilePath = DtDefaultConfigFile,
503 #ifdef _WIN32
504  bool pressAnyKey = true);
505 #else
506  bool pressAnyKey = false);
507 #endif
508 
510  virtual ~DtVrlApplicationInitializer();
511 
514 
517 
519  virtual int argc() const;
520 
522  virtual char** argv() const;
523 
525  virtual DtExerciseConnConfig* exerciseConnectionConfig();
526 
528  virtual const DtExerciseConnConfig& exConnConfig() const;
529 
531  virtual DtApplicationSettings& settings();
532 
534  virtual const int disVersion() const;
535 
540  virtual void parseCmdLine();
541 
545  virtual void loadFile(const DtString& fileName);
546 
547 
549  virtual void saveFile(const DtString& filename);
550 
551  //{@
553  virtual void setExecName(const DtString& name);
554  virtual DtString execName() const;
556 
557  //{@
560  virtual void setFederateName(const DtString& name);
561  virtual DtString federateName() const;
563 
564 #if DtHLA_1516_EVOLVED
565  //{@
568  virtual void setLocalSettingsDesignator(const DtString& name);
569  virtual std::wstring localSettingsDesignator() const;
570 
573  virtual void setMimModule(const DtString& mimFomModule);
574  virtual DtString mimModule() const;
576 
577 #endif
578 
579  //{@
581  virtual void setNotifyFileLevel(int level);
582  virtual int notifyFileLevel() const;
584 
585  //{@
587  virtual void setNotifyFilename(const DtString& file);
588  virtual DtString notifyFilename() const;
590 
591  //{@
593  virtual void setFederateType(const DtString& type);
594  virtual DtString federateType() const;
596 
597  //{@
599  void setFedFileName(const DtString& name);
600  virtual DtString fedFileName() const;
602 
603  //{@
605  virtual void setSiteId(int id);
606  virtual int siteId() const;
608 
609  //{@
611  virtual void setApplicationNumber(int num);
612  virtual int applicationNumber() const;
614 
615  //{@
617  virtual void setFomMapperLibName(const DtString& name);
618  virtual DtString fomMapperLibName() const;
620 
621  //{@
623  virtual void setRprFomVersion(double version);
624  virtual double rprFomVersion() const;
626 
627  //{@
629  virtual void setNetnFomVersion(double version);
630  virtual double netnFomVersion() const;
632 
633  //{@
635  virtual void* fomMapperInitData() const;
636  virtual void setFomMapperInitData(void* data);
638 
639  //{@
641  virtual void setUseAdvisories(bool onOff);
642  virtual bool useAdvisories() const;
644 
645  //{@
647  virtual void setUseDis5Timestamps(bool onOff);
648  virtual bool useDis5TimeStamps() const;
650 
651  //{@
653  virtual void setRequestClassUpdate(bool onOff);
654  virtual bool requestClassUpdate() const;
656 
657 
658  //{@
660  virtual void setRequestObjectUpdate(bool onOff);
661  virtual bool requestObjectUpdate() const;
663 
664  //{@
666  virtual void setRequestWhenInitialized(bool onOff);
667  virtual bool requestWhenInitialized() const;
669 
670  //{@
672  virtual void setDefaultRefreshWaitList(bool onOff);
673  virtual bool defaultRefreshWaitList() const;
675 
676  //{@
678  virtual void setDefaultWaitListRefreshPeriod(double period);
679  virtual double defaultWaitListRefreshPeriod() const;
681 
685  virtual void setTimeStampType(DtTimeStampType relOrAbs);
686 
688  virtual DtTimeStampType timeStampType() const;
689 
695  virtual void setDestroyFedExec(bool onOff);
696 
698  virtual bool destroyFedExec() const;
699 
704  virtual void setSendFedTime(bool onOff);
705 
707  virtual bool sendFedTime() const;
708 
709  virtual void setUseGeographicDdm(bool yesNo);
710 
711  virtual bool useGeographicDdm() const;
712 
714  virtual void setRprFomRevision(int val);
715 
717  virtual int rprFomRevision() const;
718 
720  virtual void setNetnFomRevision(int val);
721 
723  virtual int netnFomRevision() const;
724 
730  virtual void setGenericAttributes(bool yesNo);
731  virtual bool enabledGenericAttributes() const;
732 
734 
735  virtual bool pauseOnSaveRestore() const;
736  virtual void setPauseOnSaveRestore(bool yesNo);
737 
738  virtual void setExceptionOnRtiCompilerMismatch(bool yesNo);
739  virtual bool exceptionOnRtiCompilerMismatch() const;
741 
746  virtual void setOutputInterval(double period);
747 
749  virtual double outputInterval() const;
750 
751 protected:
753  virtual void initializeFileLogging();
754 
756  virtual void initializeConnectionConfigVariables();
757 
759  virtual void initializeMtlParams();
760 
762  virtual void loadMtlFile(const DtString& fileName);
763 
764 protected:
765  int myArgc;
766  char** myArgv;
767  DtMtlEnvironment* myMtlEnv;
768 
769  DtExerciseConnConfig myExConnConfig;
770 
771  // used from command line to load in multiple config files
772  // merging and replacing properties as needed
773  DtMultiConfigVariable<DtString> myMultipleConfigFiles;
774  DtConfigVariable<bool> myConfigVarIgnoreAdvisories;
775  DtConfigVariable<DtString> myConfigVarFomModuleList; //--setFomModuleList
776 
777  // MTL doesn't support boolean
778  int myMtlUseAdvisories;
779  int myMtlUseGeographicDdm;
780  int myMtlUseAbsoluteTimeStamps;
781  int myMtlDestroyFedExec;
782  int myMtlSendFedTime;
783  int myMtlPauseOnSaveRestore;
784  int myMtlRequestClassUpdate;
785  int myMtlRequestObjectUpdate;
786  int myMtlRequestWhenInitialized;
787  int myMtlDefaultRefreshWaitList;
788 
789 };
790 
791 #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
#define DtDefaultConfigFile
Definition: exerciseConnConfig.h:24
Instances of DtExerciseConnInitializer are used to provide the DtExerciseConn with initialization dat...
Definition: exerciseConnInitializerDIS.h:36
Contains the DtString class declaration.
virtual int siteId() const
Returns the site ID.
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.
Definition: exerciseConnConfig.h:26
Contains the DtMultiConfigVariable class declaration.
DtExerciseConnInitializer & operator=(const DtExerciseConnInitializer &orig)
Assignment Operator.
virtual void setApplicationNumber(int num)
Sets the application number.
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).
virtual int applicationNumber() const
Returns the application number.
DtTimeStampType
Definition: vlTimeStampType.h:16
Instances of DtString are used to represent strings.
Definition: vlString.h:36
virtual void setSiteId(int id)
Sets the site ID.

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)