VR-Link API Documentation for DIS
 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;
180  int mySiteId;
187  std::vector<DtString> myMulticastAddresses;
188  bool myUseIpv6;
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 
349 
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 
380 
382 
383  // used from command line to load in multiple config files
384  // merging and replacing properties as needed
386 
392 };
393 
394 #endif
395 #endif
396 
command line support
Definition: mtlEnvironment.h:42
DtMultiConfigVariable< DtString > myMultipleConfigFiles
Definition: exerciseConnInitializerDIS.h:385
Contains the DtApplicationSettings class declaration.
DtDisSocket * mySocket
Definition: exerciseConnInitializerDIS.h:193
virtual bool suppressSelfReflect() const
Returns whether the application should not self reflect.
Definition: applicationSettings.h:24
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
virtual void setAttributePduStrategy(DtAttributePduStrategy strat)
Set whether to couple the attribute PDU.
#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 void setPort(int port)
Sets the port.
virtual void setUseAsynchIO(bool on)
Sets the use of asynchronous I/O.
virtual DtString subnetMask() const
Returns the subnet mask to use.
DtExerciseConnConfig myExConnConfig
Definition: exerciseConnInitializerDIS.h:379
char ** myArgv
Definition: exerciseConnInitializerDIS.h:377
virtual void setDeviceAddress(const DtString &devAddr)
Set the device to use for the DIS connection.
virtual int exerciseId() const
Returns the exercise ID.
DtTimeStampType myTimeStampType
Definition: exerciseConnInitializerDIS.h:183
virtual int siteId() const
Returns the site ID.
int myMtlUseAbsoluteTimeStamps
Definition: exerciseConnInitializerDIS.h:389
virtual int receiveBufferSize() const
Get the receive buffer size.
DtInetAddr myCachedDestAddr
Definition: exerciseConnInitializerDIS.h:387
bool mySuppressSelfReflect
Definition: exerciseConnInitializerDIS.h:189
virtual int sendBufferSize() const
Get the send buffer size.
static DtString vrlinkVersion()
Returns a string indicating the VR-Link version number.
int myPort
Definition: exerciseConnInitializerDIS.h:178
virtual DtTimeStampType timeStampType() const
Get the time stamp type.
virtual bool useIpv6() const
Definition: exerciseConnConfig.h:26
Contains the DtMultiConfigVariable class declaration.
bool myUseIpv6
Definition: exerciseConnInitializerDIS.h:188
virtual void setMulticastAddresses(const std::vector< DtString > &addresses)
virtual void setMulticastTtl(int ttl)
Set the mcast TTL.
virtual void setDestinationAddress(const DtString &addr)
Sets the destination address Same as above but takes address as a string.
int mySendBufferSize
Definition: exerciseConnInitializerDIS.h:184
DtString myDestinationAddress
Definition: exerciseConnInitializerDIS.h:191
DtExerciseConnInitializer & operator=(const DtExerciseConnInitializer &orig)
Assignment Operator.
The DtDisSocket class provides an address family independent datagram socket.
Definition: vlDisSocket.h:75
int myAttributePduStrategy
Definition: exerciseConnInitializerDIS.h:194
virtual void setApplicationNumber(int num)
Sets the application number.
Represents a IPv4 or IPv6 address.
Definition: vlInetAddr.h:36
int myMtlUseAsynchronousIO
Definition: exerciseConnInitializerDIS.h:388
virtual void setSuppressSelfReflect(bool yesNo)
Set the suppression of reflection DIS PDU&#39;s. Off by default.
Contains the DtConfigVariable class declaration.
virtual DtString deviceAddress() const
Returns the device address to use.
DtMtlEnvironment * myMtlEnv
Definition: exerciseConnInitializerDIS.h:381
bool myUseAsynchIO
Definition: exerciseConnInitializerDIS.h:182
Instances of DtVrlApplicationInitializer are used to initialize the exercise connection with command ...
Definition: exerciseConnInitializerDIS.h:209
virtual void setUseIpv6(bool val)
int myMtlSuppressSelfReflect
Definition: exerciseConnInitializerDIS.h:391
DtAttributePduStrategy
Definition: vlAttributePduStrategy.h:16
virtual void setSubnetMask(const DtString &mask)
Set the subnet mask to use for the DIS connection.
virtual bool useAsynchIO() const
Returns the use of asynchronous I/O.
virtual int multicastTtl() const
Returns the multicast TTL.
This file contains the declaration of the DtInetAddr class.
int mySiteId
Definition: exerciseConnInitializerDIS.h:180
This file declares the class DtCmdLine::CmdLine.
virtual int port() const
Returns the port.
int socket(int, int, int)
int myApplicationNumber
Definition: exerciseConnInitializerDIS.h:181
virtual void setExerciseId(int id)
Sets the exercise ID.
bool myDis5TimeStamps
Definition: exerciseConnInitializerDIS.h:195
Contains the DtDisSocket class declaration.
virtual DtString destinationAddress() const
Returns the destination address.
std::vector< DtString > myMulticastAddresses
Definition: exerciseConnInitializerDIS.h:187
virtual void setTimeStampType(DtTimeStampType relOrAbs)
Set the time stamp type (DtTimeStampAbsolute or DtTimeStampRelative).
int myMtlUseIpv6
Definition: exerciseConnInitializerDIS.h:390
virtual int applicationNumber() const
Returns the application number.
int myMulticastTtl
Definition: exerciseConnInitializerDIS.h:186
DtString myDeviceAddress
Definition: exerciseConnInitializerDIS.h:190
int myReceiveBufferSize
Definition: exerciseConnInitializerDIS.h:185
Contains the standard DIS enumerations.
DtTimeStampType
Definition: vlTimeStampType.h:16
int myExerciseId
Definition: exerciseConnInitializerDIS.h:179
int myArgc
Definition: exerciseConnInitializerDIS.h:376
provides basic Operating Independent Methods useful to a federate
virtual DtAttributePduStrategy attributePduStrategy() const
Returns whether to couple the attribute PDU.
Instances of DtString are used to represent strings.
Definition: vlString.h:36
DtString mySubnetMask
Definition: exerciseConnInitializerDIS.h:192
virtual void setReceiveBufferSize(int numBytes)
Set the receive buffer size.
virtual void setNotifyLevel(int level)
Sets the notify level.
virtual void setSiteId(int id)
Sets the site ID.
virtual const std::vector< DtString > & multicastAddresses() const
virtual void setSendBufferSize(int numBytes)
Set the send buffer size.

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)