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-2010 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 <cmdLine/cmdLine.h>
18 #include <vlutil/vlTimeStampType.h>
19 #include <vlutil/vlString.h>
20 
22 
23 #include <mtl/configVariable.h>
25 
26 #include <vlutil/vlDisSocket.h>
27 #include <vlutil/vlInetAddr.h>
28 
29 #include <vlpi/disEnums.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:
212  DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName,
214 
215  virtual ~DtVrlApplicationInitializer();
216 
217  virtual void parseCmdLine();
218 
222  virtual void loadFile(const DtString& fileName);
223 
225  virtual void saveFile(const DtString& filename);
226 
229  virtual void setArgc(int);
231  virtual int argc() const;
232 
235  virtual void setArgv(char**);
237  virtual char** argv() const;
238 
239  virtual void setPort(int port);
240  virtual int port() const;
241 
242  virtual void setExerciseId(int id);
243  virtual int exerciseId() const;
244 
245  virtual void setApplicationNumber(int num);
246  virtual int applicationNumber() const;
247 
248  virtual void setSiteId(int id);
249  virtual int siteId() const;
250 
251  virtual void setDestinationAddress(const DtString& address);
252  virtual DtString destinationAddress() const;
253 
254  virtual void setNotifyLevel(int level);
255 
256  //{@
258  virtual void setNotifyFileLevel(int level);
259  virtual int notifyFileLevel() const;
261 
262  //{@
264  virtual void setNotifyFilename(const DtString& file);
265  virtual DtString notifyFilename() const;
267 
268  virtual void setSendBufferSize(int numBytes);
269  virtual int sendBufferSize() const;
270 
271  virtual void setReceiveBufferSize(int numBytes);
272  virtual int receiveBufferSize() const;
273 
275  virtual void setUseAsynchIO(bool on);
276 
278  virtual bool useAsynchIO() const;
279 
282  virtual void setMulticastTtl(int ttl);
283 
286  virtual int multicastTtl() const;
287 
290  virtual void setTimeStampType(DtTimeStampType relOrAbs);
291 
293  virtual DtTimeStampType timeStampType() const;
294 
295  virtual void setMulticastAddresses(const std::vector<DtString>& addresses);
296  virtual const std::vector<DtString>& multicastAddresses() const;
297 
298  virtual void setUseIpv6(bool val);
299  virtual bool useIpv6() const;
300 
301  //{@
303  virtual void setUseDis5Timestamps(bool onOff);
304  virtual bool useDis5TimeStamps() const;
306 
308  virtual void setSuppressSelfReflect(bool yesNo);
309 
311  virtual bool suppressSelfReflect() const;
312 
315  virtual void setDeviceAddress(const DtString& devAddr);
316 
318  virtual DtString deviceAddress() const;
319 
321  virtual void setSubnetMask(const DtString& mask);
322 
324  virtual DtString subnetMask() const;
325 
327  virtual void setAttributePduStrategy(DtAttributePduStrategy strat);
328 
330  virtual DtAttributePduStrategy attributePduStrategy() const;
331 
336  virtual void setOutputInterval(double period);
337 
339  virtual double outputInterval() const;
340 
341 protected:
343  virtual void initializeFileLogging();
344 
345 protected:
346  int myArgc;
347  char** myArgv;
348  DtMtlEnvironment* myMtlEnv;
349 
350  virtual void initializeMtlParams();
351  virtual void loadMtlFile(const DtString& fileName);
352 
353  DtApplicationSettings mySettings;
354  DtConfigVariable<int> myNotifyLevel;
355  DtVariableGroup myDisConnection;
356  DtConfigVariable<int> myConfigVarPort;
357  DtConfigVariable<int> myConfigVarExerciseId;
358  DtConfigVariable<int> myConfigVarSiteNumber;
359  DtConfigVariable<int> myConfigVarApplicationNumber;
360  DtConfigVariable<int> myConfigVarDisVersion;
361  DtConfigVariable<DtString> myConfigVarDestinationAddress;
362  DtConfigVariable<int> myConfigVarSendBufferSize;
363  DtConfigVariable<int> myConfigVarReceiveBufferSize;
364  DtConfigVariable<bool> myConfigVarUseAsyncIo;
365  DtConfigVariable<bool> myConfigVarUseIpv6;
366  DtConfigVariable<bool> myConfigVarSuppressSelfReflect;
367  DtConfigVariable<bool> myConfigVarUseAbsoluteTimestamps;
368  DtConfigVariable<int> myConfigVarMulticastTtl;
369  DtMultiConfigVariable<DtString> myConfigVarMulticastAddresses;
370  DtConfigVariable<DtString> myConfigVarDeviceAddress;
371  DtConfigVariable<DtString> myConfigVarSubnetMask;
372  DtConfigVariable<int> myConfigVarNotifyFileLevel;
373  DtConfigVariable<DtString> myConfigVarNotifyFilename;
374  DtConfigVariable<int> myConfigVarAttributeStrategy;
375  DtConfigVariable<double> myConfigVarOutputInterval;
376  DtConfigVariable<bool> myConfigVarDis5TimeStamps;
377 
378  // If logging is turned on, this printer will remain in memory
379  // even after this class is destroyed. Otherwise we would
380  // have to stop logging prematurely.
381  DtFilePrinter* myLogFilePrinter;
382 
383  mutable DtInetAddr myCachedDestAddr;
384  int myMtlUseAsynchronousIO;
385  int myMtlUseAbsoluteTimeStamps;
386  int myMtlUseIpv6;
387  int myMtlSuppressSelfReflect;
388 };
389 
390 #endif
391 #endif
392 
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: exerciseConnInitializerHLA.h:41
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
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.
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:476
DtAttributePduStrategy
Definition: vlAttributePduStrategy.h:16
This file contains the declaration of the DtInetAddr class.
This file declares the class DtCmdLine::CmdLine.
int socket(int, int, int)
Contains the DtDisSocket class declaration.
virtual void setTimeStampType(DtTimeStampType relOrAbs)
Set the time stamp type (DtTimeStampAbsolute or DtTimeStampRelative).
Represents a group of variables.
Definition: variableGroup.h:21
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:29
virtual void setNotifyLevel(int level)
Sets the notify level.
Definition: multiConfigVariable.h:23

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)