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 VT MAK
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 void setNotifyLevel(int level);
100 
102  virtual void setDisVersionToSend(int version);
103 
107  virtual void setTimeStampType(DtTimeStampType relOrAbs);
108 
110  virtual DtTimeStampType timeStampType() const;
111 
113  virtual void setSendBufferSize(int numBytes);
114 
116  virtual int sendBufferSize() const;
117 
119  virtual void setReceiveBufferSize(int numBytes);
120 
122  virtual int receiveBufferSize() const;
123 
124  virtual void setUseIpv6(bool val);
125  virtual bool useIpv6() const;
126 
132  virtual void setMulticastTtl(int ttl);
133 
135  virtual int multicastTtl() const;
136 
137  virtual void setMulticastAddresses(const std::vector<DtString>& addresses);
138 
139  virtual const std::vector<DtString>& multicastAddresses() const;
140 
143  virtual void setDeviceAddress(const DtString& devAddr);
144 
146  virtual DtString deviceAddress() const;
147 
149  virtual void setSubnetMask(const DtString& mask);
150 
152  virtual DtString subnetMask() const;
153 
155  virtual void setSuppressSelfReflect(bool yesNo);
156 
158  virtual bool suppressSelfReflect() const;
159 
161  virtual void setAttributePduStrategy(DtAttributePduStrategy strat);
162 
164  virtual DtAttributePduStrategy attributePduStrategy() const;
165 
166 public:
167 
169  static DtString vrlinkVersion();
170 
171 private:
172  int myPort;
173  int myExerciseId;
174  int mySiteId;
175  int myApplicationNumber;
176  bool myUseAsynchIO;
177  DtTimeStampType myTimeStampType;
178  int mySendBufferSize;
179  int myReceiveBufferSize;
180  int myMulticastTtl;
181  std::vector<DtString> myMulticastAddresses;
182  bool myUseIpv6;
183  bool mySuppressSelfReflect;
184  DtString myDeviceAddress;
185  DtString myDestinationAddress;
186  DtString mySubnetMask;
187  DtDisSocket* mySocket;
188  int myAttributePduStrategy;
189 };
190 
203 {
204 public:
205  DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName,
207 
208  virtual ~DtVrlApplicationInitializer();
209 
210  virtual void parseCmdLine();
211 
215  virtual void loadFile(const DtString& fileName);
216 
218  virtual void saveFile(const DtString& filename);
219 
222  virtual void setArgc(int);
224  virtual int argc() const;
225 
228  virtual void setArgv(char**);
230  virtual char** argv() const;
231 
232  virtual void setPort(int port);
233  virtual int port() const;
234 
235  virtual void setExerciseId(int id);
236  virtual int exerciseId() const;
237 
238  virtual void setApplicationNumber(int num);
239  virtual int applicationNumber() const;
240 
241  virtual void setSiteId(int id);
242  virtual int siteId() const;
243 
244  virtual void setDestinationAddress(const DtString& address);
245  virtual DtString destinationAddress() const;
246 
247  virtual void setNotifyLevel(int level);
248 
249  //{@
251  virtual void setNotifyFileLevel(int level);
252  virtual int notifyFileLevel() const;
254 
255  //{@
257  virtual void setNotifyFilename(const DtString& file);
258  virtual DtString notifyFilename() const;
260 
261  virtual void setSendBufferSize(int numBytes);
262  virtual int sendBufferSize() const;
263 
264  virtual void setReceiveBufferSize(int numBytes);
265  virtual int receiveBufferSize() const;
266 
268  virtual void setUseAsynchIO(bool on);
269 
271  virtual bool useAsynchIO() const;
272 
275  virtual void setMulticastTtl(int ttl);
276 
279  virtual int multicastTtl() const;
280 
283  virtual void setTimeStampType(DtTimeStampType relOrAbs);
284 
286  virtual DtTimeStampType timeStampType() const;
287 
288  virtual void setMulticastAddresses(const std::vector<DtString>& addresses);
289  virtual const std::vector<DtString>& multicastAddresses() const;
290 
291  virtual void setUseIpv6(bool val);
292  virtual bool useIpv6() const;
293 
295  virtual void setSuppressSelfReflect(bool yesNo);
296 
298  virtual bool suppressSelfReflect() const;
299 
302  virtual void setDeviceAddress(const DtString& devAddr);
303 
305  virtual DtString deviceAddress() const;
306 
308  virtual void setSubnetMask(const DtString& mask);
309 
311  virtual DtString subnetMask() const;
312 
314  virtual void setAttributePduStrategy(DtAttributePduStrategy strat);
315 
317  virtual DtAttributePduStrategy attributePduStrategy() const;
318 
319 protected:
321  virtual void initializeFileLogging();
322 
323 protected:
324  int myArgc;
325  char** myArgv;
326  DtMtlEnvironment* myMtlEnv;
327 
328  virtual void initializeMtlParams();
329  virtual void loadMtlFile(const DtString& fileName);
330 
331  DtApplicationSettings mySettings;
332  DtConfigVariable<int> myNotifyLevel;
333  DtVariableGroup myDisConnection;
334  DtConfigVariable<int> myConfigVarPort;
335  DtConfigVariable<int> myConfigVarExerciseId;
336  DtConfigVariable<int> myConfigVarSiteNumber;
337  DtConfigVariable<int> myConfigVarApplicationNumber;
338  DtConfigVariable<int> myConfigVarDisVersion;
339  DtConfigVariable<DtString> myConfigVarDestinationAddress;
340  DtConfigVariable<int> myConfigVarSendBufferSize;
341  DtConfigVariable<int> myConfigVarReceiveBufferSize;
342  DtConfigVariable<bool> myConfigVarUseAsyncIo;
343  DtConfigVariable<bool> myConfigVarUseIpv6;
344  DtConfigVariable<bool> myConfigVarSuppressSelfReflect;
345  DtConfigVariable<bool> myConfigVarUseAbsoluteTimestamps;
346  DtConfigVariable<int> myConfigVarMulticastTtl;
347  DtMultiConfigVariable<DtString> myConfigVarMulticastAddresses;
348  DtConfigVariable<DtString> myConfigVarDeviceAddress;
349  DtConfigVariable<DtString> myConfigVarSubnetMask;
350  DtConfigVariable<int> myConfigVarNotifyFileLevel;
351  DtConfigVariable<DtString> myConfigVarNotifyFilename;
352  DtConfigVariable<int> myConfigVarAttributeStrategy;
353 
354  // If logging is turned on, this printer will remain in memory
355  // even after this class is destroyed. Otherwise we would
356  // have to stop logging prematurely.
357  DtFilePrinter* myLogFilePrinter;
358 
359  mutable DtInetAddr myCachedDestAddr;
360  int myMtlUseAsynchronousIO;
361  int myMtlUseAbsoluteTimeStamps;
362  int myMtlUseIpv6;
363  int myMtlSuppressSelfReflect;
364 };
365 
366 #endif
367 #endif
368 

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)