VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
exerciseConnInitializerDIS.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef _dExConnInit_H_
7 #define _dExConnInit_H_
8 
13 
14 #if DtDIS
15 
16 #include <vlutil/vlUtil.h>
17 #include <vlutil/vlTimeStampType.h>
18 #include <vlutil/vlString.h>
19 #include <vlutil/vlDisSocket.h>
20 #include <vlutil/vlInetAddr.h>
21 
23 #include <mtl/configVariable.h>
25 
26 #include <vlpi/disEnums.h>
28 
29 #include <cmdLine/cmdLine.h>
30 
31 class DtMtlEnvironment;
32 
37 {
38 public:
41 
43  virtual ~DtExerciseConnInitializer();
44 
47 
50 
52  virtual void setPort(int port);
53 
55  virtual int port() const;
56 
58  virtual void setExerciseId(int id);
59 
61  virtual int exerciseId() const;
62 
64  virtual void setSiteId(int id);
65 
67  virtual int siteId() const;
68 
70  virtual void setApplicationNumber(int num);
71 
73  virtual int applicationNumber() const;
74 
76  virtual void setUseAsynchIO(bool on);
77 
79  virtual bool useAsynchIO() const;
80 
83  virtual void setDestinationAddress(const DtString &addr);
84 
87  virtual DtString destinationAddress() const;
88 
93  virtual void setSocket(DtDisSocket* sock);
94 
96  virtual DtDisSocket* socket() const;
97 
99  virtual bool dis5Timestamps() const;
100 
102  virtual void setDis5Timestamps(bool onOff);
103 
105  virtual void setNotifyLevel(int level);
106 
108  virtual void setDisVersionToSend(int version);
109 
113  virtual void setTimeStampType(DtTimeStampType relOrAbs);
114 
116  virtual DtTimeStampType timeStampType() const;
117 
119  virtual void setSendBufferSize(int numBytes);
120 
122  virtual int sendBufferSize() const;
123 
125  virtual void setReceiveBufferSize(int numBytes);
126 
128  virtual int receiveBufferSize() const;
129 
130  virtual void setUseIpv6(bool val);
131  virtual bool useIpv6() const;
132 
138  virtual void setMulticastTtl(int ttl);
139 
141  virtual int multicastTtl() const;
142 
143  virtual void setMulticastAddresses(const std::vector<DtString>& addresses);
144 
145  virtual const std::vector<DtString>& multicastAddresses() const;
146 
149  virtual void setDeviceAddress(const DtString& devAddr);
150 
152  virtual DtString deviceAddress() const;
153 
155  virtual void setSubnetMask(const DtString& mask);
156 
158  virtual DtString subnetMask() const;
159 
161  virtual void setSuppressSelfReflect(bool yesNo);
162 
164  virtual bool suppressSelfReflect() const;
165 
167  virtual void setAttributePduStrategy(DtAttributePduStrategy strat);
168 
170  virtual DtAttributePduStrategy attributePduStrategy() const;
171 
172 public:
173 
175  static DtString vrlinkVersion();
176 
177 private:
178  int myPort;
179  int myExerciseId;
180  int mySiteId;
181  int myApplicationNumber;
182  bool myUseAsynchIO;
183  DtTimeStampType myTimeStampType;
184  int mySendBufferSize;
185  int myReceiveBufferSize;
186  int myMulticastTtl;
187  std::vector<DtString> myMulticastAddresses;
188  bool myUseIpv6;
189  bool mySuppressSelfReflect;
190  DtString myDeviceAddress;
191  DtString myDestinationAddress;
192  DtString mySubnetMask;
193  DtDisSocket* mySocket;
194  int myAttributePduStrategy;
195  bool myDis5TimeStamps;
196 };
197 
210 {
211 public:
213  DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName,
214  const DtString& defaultConfigFilePath = DtDefaultConfigFile,
216 
218  virtual ~DtVrlApplicationInitializer();
219 
222 
225 
226  virtual void parseCmdLine();
227 
231  virtual void loadFile(const DtString& fileName);
232 
234  virtual void saveFile(const DtString& filename);
235 
238  virtual void setArgc(int);
240  virtual int argc() const;
241 
244  virtual void setArgv(char**);
246  virtual char** argv() const;
247 
249  virtual DtExerciseConnConfig* exerciseConnectionConfig();
250 
252  virtual const DtExerciseConnConfig& exConnConfig() const;
253 
255  virtual DtApplicationSettings& settings();
256 
258  virtual const int disVersion() const;
259 
260  virtual void setPort(int port);
261  virtual int port() const;
262 
263  virtual void setExerciseId(int id);
264  virtual int exerciseId() const;
265 
266  virtual void setApplicationNumber(int num);
267  virtual int applicationNumber() const;
268 
269  virtual void setSiteId(int id);
270  virtual int siteId() const;
271 
272  virtual void setDestinationAddress(const DtString& address);
273  virtual DtString destinationAddress() const;
274 
275  virtual void setNotifyLevel(int level);
276 
277  //{@
279  virtual void setNotifyFileLevel(int level);
280  virtual int notifyFileLevel() const;
282 
283  //{@
285  virtual void setNotifyFilename(const DtString& file);
286  virtual DtString notifyFilename() const;
288 
289  virtual void setSendBufferSize(int numBytes);
290  virtual int sendBufferSize() const;
291 
292  virtual void setReceiveBufferSize(int numBytes);
293  virtual int receiveBufferSize() const;
294 
296  virtual void setUseAsynchIO(bool on);
297 
299  virtual bool useAsynchIO() const;
300 
303  virtual void setMulticastTtl(int ttl);
304 
307  virtual int multicastTtl() const;
308 
311  virtual void setTimeStampType(DtTimeStampType relOrAbs);
312 
314  virtual DtTimeStampType timeStampType() const;
315 
316  virtual void setMulticastAddresses(const std::vector<DtString>& addresses);
317  virtual const std::vector<DtString>& multicastAddresses() const;
318 
319  virtual void setUseIpv6(bool val);
320  virtual bool useIpv6() const;
321 
322  //{@
324  virtual void setUseDis5Timestamps(bool onOff);
325  virtual bool useDis5TimeStamps() const;
327 
329  virtual void setSuppressSelfReflect(bool yesNo);
330 
332  virtual bool suppressSelfReflect() const;
333 
336  virtual void setDeviceAddress(const DtString& devAddr);
337 
339  virtual DtString deviceAddress() const;
340 
342  virtual void setSubnetMask(const DtString& mask);
343 
345  virtual DtString subnetMask() const;
346 
348  virtual void setAttributePduStrategy(DtAttributePduStrategy strat);
349 
351  virtual DtAttributePduStrategy attributePduStrategy() const;
352 
357  virtual void setOutputInterval(double period);
358 
360  virtual double outputInterval() const;
361 
362 protected:
364  virtual void initializeFileLogging();
365 
367  virtual void initializeConnectionConfigVariables();
368 
370  virtual void initializeMtlParams();
371 
373  virtual void loadMtlFile(const DtString& fileName);
374 
375 protected:
376  int myArgc;
377  char** myArgv;
378 
379  DtExerciseConnConfig myExConnConfig;
380 
381  DtMtlEnvironment* myMtlEnv;
382 
383  // used from command line to load in multiple config files
384  // merging and replacing properties as needed
385  DtMultiConfigVariable<DtString> myMultipleConfigFiles;
386 
387  mutable DtInetAddr myCachedDestAddr;
388  int myMtlUseAsynchronousIO;
389  int myMtlUseAbsoluteTimeStamps;
390  int myMtlUseIpv6;
391  int myMtlSuppressSelfReflect;
392 };
393 
394 #endif
395 #endif
396 
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: exerciseConnInitializerHLA.h:43
Contains the DtString class declaration.
virtual int siteId() const
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.
The DtDisSocket class provides an address family independent datagram socket.
Definition: vlDisSocket.h:75
Represents a IPv4 or IPv6 address.
Definition: vlInetAddr.h:36
Contains the DtConfigVariable class declaration.
Instances of DtVrlApplicationInitializer are used to initialize the exercise connection with command ...
Definition: exerciseConnInitializerHLA.h:496
DtAttributePduStrategy
Definition: vlAttributePduStrategy.h:16
This file contains the declaration of the DtInetAddr class.
This file declares the class DtCmdLine::CmdLine.
virtual void setApplicationNumber(int id)
Sets the notify level for file output, if the filename has been set.
int socket(int, int, int)
Contains the DtDisSocket class declaration.
virtual void setTimeStampType(DtTimeStampType relOrAbs)
Set the time stamp type (DtTimeStampAbsolute or DtTimeStampRelative).
virtual int applicationNumber() const
Contains the standard DIS enumerations.
DtTimeStampType
Definition: vlTimeStampType.h:16
provides basic Operating Independent Methods useful to a federate
Instances of DtString are used to represent strings.
Definition: vlString.h:36
virtual void setNotifyLevel(int level)
Sets the notify level.
virtual void setSiteId(int id)
Sets the notify level for file output, if the filename has been set.

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)