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 class DtMtlEnvironment;
30 
35 {
36 public:
39 
41  virtual ~DtExerciseConnInitializer();
42 
45 
48 
50  virtual void setPort(int port);
51 
53  virtual int port() const;
54 
56  virtual void setExerciseId(int id);
57 
59  virtual int exerciseId() const;
60 
62  virtual void setSiteId(int id);
63 
65  virtual int siteId() const;
66 
68  virtual void setApplicationNumber(int num);
69 
71  virtual int applicationNumber() const;
72 
74  virtual void setUseAsynchIO(bool on);
75 
77  virtual bool useAsynchIO() const;
78 
81  virtual void setDestinationAddress(const DtString &addr);
82 
85  virtual DtString destinationAddress() const;
86 
91  virtual void setSocket(DtDisSocket* sock);
92 
94  virtual DtDisSocket* socket() const;
95 
97  virtual void setNotifyLevel(int level);
98 
100  virtual void setDisVersionToSend(int version);
101 
105  virtual void setTimeStampType(DtTimeStampType relOrAbs);
106 
108  virtual DtTimeStampType timeStampType() const;
109 
111  virtual void setSendBufferSize(int numBytes);
112 
114  virtual int sendBufferSize() const;
115 
117  virtual void setReceiveBufferSize(int numBytes);
118 
120  virtual int receiveBufferSize() const;
121 
122  virtual void setUseIpv6(bool val);
123  virtual bool useIpv6() const;
124 
130  virtual void setMulticastTtl(int ttl);
131 
133  virtual int multicastTtl() const;
134 
135  virtual void setMulticastAddresses(const std::vector<DtString>& addresses);
136 
137  virtual const std::vector<DtString>& multicastAddresses() const;
138 
141  virtual void setDeviceAddress(const DtString& devAddr);
142 
144  virtual DtString deviceAddress() const;
145 
147  virtual void setSubnetMask(const DtString& mask);
148 
150  virtual DtString subnetMask() const;
151 
153  virtual void setSuppressSelfReflect(bool yesNo);
154 
156  virtual bool suppressSelfReflect() const;
157 
158 public:
159 
161  static DtString vrlinkVersion();
162 
163 private:
164  int myPort;
165  int myExerciseId;
166  int mySiteId;
167  int myApplicationNumber;
168  bool myUseAsynchIO;
169  DtTimeStampType myTimeStampType;
170  int mySendBufferSize;
171  int myReceiveBufferSize;
172  int myMulticastTtl;
173  std::vector<DtString> myMulticastAddresses;
174  bool myUseIpv6;
175  bool mySuppressSelfReflect;
176  DtString myDeviceAddress;
177  DtString myDestinationAddress;
178  DtString mySubnetMask;
179  DtDisSocket* mySocket;
180 };
181 
194 {
195 public:
196  DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName,
198 
199  virtual ~DtVrlApplicationInitializer();
200 
201  virtual void parseCmdLine();
202 
206  virtual void loadFile(const DtString& fileName);
207 
209  virtual void saveFile(const DtString& filename);
210 
213  virtual void setArgc(int);
215  virtual int argc() const;
216 
219  virtual void setArgv(char**);
221  virtual char** argv() const;
222 
223  virtual void setPort(int port);
224  virtual int port() const;
225 
226  virtual void setExerciseId(int id);
227  virtual int exerciseId() const;
228 
229  virtual void setApplicationNumber(int num);
230  virtual int applicationNumber() const;
231 
232  virtual void setSiteId(int id);
233  virtual int siteId() const;
234 
235  virtual void setDestinationAddress(const DtString& address);
236  virtual DtString destinationAddress() const;
237 
238  virtual void setNotifyLevel(int level);
239 
240  //{@
242  virtual void setNotifyFileLevel(int level);
243  virtual int notifyFileLevel() const;
245 
246  //{@
248  virtual void setNotifyFilename(const DtString& file);
249  virtual DtString notifyFilename() const;
251 
252  virtual void setSendBufferSize(int numBytes);
253  virtual int sendBufferSize() const;
254 
255  virtual void setReceiveBufferSize(int numBytes);
256  virtual int receiveBufferSize() const;
257 
259  virtual void setUseAsynchIO(bool on);
260 
262  virtual bool useAsynchIO() const;
263 
264 
267  virtual void setMulticastTtl(int ttl);
268 
271  virtual int multicastTtl() const;
272 
275  virtual void setTimeStampType(DtTimeStampType relOrAbs);
276 
278  virtual DtTimeStampType timeStampType() const;
279 
280  virtual const std::vector<DtString>& multicastAddresses() const;
281 
282  virtual void setUseIpv6(bool val);
283  virtual bool useIpv6() const;
284 
286  virtual void setSuppressSelfReflect(bool yesNo);
287 
289  virtual bool suppressSelfReflect() const;
290 
293  virtual void setDeviceAddress(const DtString& devAddr);
294 
296  virtual DtString deviceAddress() const;
297 
299  virtual void setSubnetMask(const DtString& mask);
300 
302  virtual DtString subnetMask() const;
303 
304 protected:
306  virtual void initializeFileLogging();
307 
308 protected:
309  int myArgc;
310  char** myArgv;
311  DtMtlEnvironment* myMtlEnv;
312 
313  virtual void initializeMtlParams();
314  virtual void loadMtlFile(const DtString& fileName);
315 
316  DtApplicationSettings mySettings;
317  DtConfigVariable<int> myNotifyLevel;
318  DtVariableGroup myDisConnection;
319  DtConfigVariable<int> myConfigVarPort;
320  DtConfigVariable<int> myConfigVarExerciseId;
321  DtConfigVariable<int> myConfigVarSiteNumber;
322  DtConfigVariable<int> myConfigVarApplicationNumber;
323  DtConfigVariable<int> myConfigVarDisVersion;
324  DtConfigVariable<DtString> myConfigVarDestinationAddress;
325  DtConfigVariable<int> myConfigVarSendBufferSize;
326  DtConfigVariable<int> myConfigVarReceiveBufferSize;
327  DtConfigVariable<bool> myConfigVarUseAsyncIo;
328  DtConfigVariable<bool> myConfigVarUseIpv6;
329  DtConfigVariable<bool> myConfigVarSuppressSelfReflect;
330  DtConfigVariable<bool> myConfigVarUseAbsoluteTimestamps;
331  DtConfigVariable<int> myConfigVarMulticastTtl;
332  DtMultiConfigVariable<DtString> myConfigVarMulticastAddresses;
333  DtConfigVariable<DtString> myConfigVarDeviceAddress;
334  DtConfigVariable<DtString> myConfigVarSubnetMask;
335  DtConfigVariable<int> myConfigVarNotifyFileLevel;
336  DtConfigVariable<DtString> myConfigVarNotifyFilename;
337 
338  // If logging is turned on, this printer will remain in memory
339  // even after this class is destroyed. Otherwise we would
340  // have to stop logging prematurely.
341  DtFilePrinter* myLogFilePrinter;
342 
343  mutable DtInetAddr myCachedDestAddr;
344  int myMtlUseAsynchronousIO;
345  int myMtlUseAbsoluteTimeStamps;
346  int myMtlUseIpv6;
347  int myMtlSuppressSelfReflect;
348 };
349 
350 #endif
351 #endif
352 

Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)