VR-Link API Documentation for HLA 1.3
dExConnInit.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 #include "dExerciseConn.h"
21 
22 #include <mtl/appSettings.h>
23 
24 #include <mtl/configVar.h>
25 #include <mtl/multiVar.h>
26 
27 #include <vlutil/vlDisSocket.h>
28 #include <vlutil/vlInetAddr.h>
29 
30 class DtMtlEnvironment;
31 
36 {
37 public:
40 
42  virtual ~DtExerciseConnInitializer();
43 
46 
49 
51  virtual void setPort(int port);
52 
54  virtual int port() const;
55 
57  virtual void setExerciseId(int id);
58 
60  virtual int exerciseId() const;
61 
63  virtual void setSiteId(int id);
64 
66  virtual int siteId() const;
67 
69  virtual void setApplicationNumber(int num);
70 
72  virtual int applicationNumber() const;
73 
75  virtual void setUseAsynchIO(bool on);
76 
78  virtual bool useAsynchIO() const;
79 
82  virtual void setDestinationAddress(const DtString &addr);
83 
86  virtual DtString destinationAddress() const;
87 
92  virtual void setSocket(DtDisSocket* sock);
93 
95  virtual DtDisSocket* socket() const;
96 
98  virtual void setNotifyLevel(int level);
99 
101  virtual void setDisVersionToSend(int version);
102 
106  virtual void setTimeStampType(DtTimeStampType relOrAbs);
107 
109  virtual DtTimeStampType timeStampType() const;
110 
112  virtual void setSendBufferSize(int numBytes);
113 
115  virtual int sendBufferSize() const;
116 
118  virtual void setReceiveBufferSize(int numBytes);
119 
121  virtual int receiveBufferSize() const;
122 
123  virtual void setUseIpv6(bool val);
124  virtual bool useIpv6() const;
125 
131  virtual void setMulticastTtl(int ttl);
132 
134  virtual int multicastTtl() const;
135 
136  virtual void setMulticastAddresses(const std::vector<DtString>& addresses);
137 
138  virtual const std::vector<DtString>& multicastAddresses() const;
139 
142  virtual void setDeviceAddress(const DtString& devAddr);
143 
145  virtual DtString deviceAddress() const;
146 
148  virtual void setSubnetMask(const DtString& mask);
149 
151  virtual DtString subnetMask() const;
152 
154  virtual void setSuppressSelfReflect(bool yesNo);
155 
157  virtual bool suppressSelfReflect() const;
158 
159 private:
160  int myPort;
161  int myExerciseId;
162  int mySiteId;
163  int myApplicationNumber;
164  bool myUseAsynchIO;
165  DtTimeStampType myTimeStampType;
166  int mySendBufferSize;
167  int myReceiveBufferSize;
168  int myMulticastTtl;
169  std::vector<DtString> myMulticastAddresses;
170  bool myUseIpv6;
171  bool mySuppressSelfReflect;
172  DtString myDeviceAddress;
173  DtString myDestinationAddress;
174  DtString mySubnetMask;
175  DtDisSocket* mySocket;
176 };
177 
190 {
191 public:
192  DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName,
193  const DtString& version = DtExerciseConn::vrlinkVersion());
194 
195  virtual ~DtVrlApplicationInitializer();
196 
197  virtual void parseCmdLine();
198 
202  virtual void loadFile(const DtString& fileName);
203 
205  virtual void saveFile(const DtString& filename);
206 
207 
209  virtual int argc() const;
210 
212  virtual char** argv() const;
213 
214  virtual void setPort(int port);
215  virtual int port() const;
216 
217  virtual void setExerciseId(int id);
218  virtual int exerciseId() const;
219 
220  virtual void setApplicationNumber(int num);
221  virtual int applicationNumber() const;
222 
223  virtual void setSiteId(int id);
224  virtual int siteId() const;
225 
226  virtual void setDestinationAddress(const DtString& address);
227  virtual DtString destinationAddress() const;
228 
229  virtual void setNotifyLevel(int level);
230 
231  virtual void setSendBufferSize(int numBytes);
232  virtual int sendBufferSize() const;
233 
234  virtual void setReceiveBufferSize(int numBytes);
235  virtual int receiveBufferSize() const;
236 
238  virtual void setUseAsynchIO(bool on);
239 
241  virtual bool useAsynchIO() const;
242 
243 
246  virtual void setMulticastTtl(int ttl);
247 
250  virtual int multicastTtl() const;
251 
254  virtual void setTimeStampType(DtTimeStampType relOrAbs);
255 
257  virtual DtTimeStampType timeStampType() const;
258 
259  virtual const std::vector<DtString>& multicastAddresses() const;
260 
261  virtual void setUseIpv6(bool val);
262  virtual bool useIpv6() const;
263 
265  virtual void setSuppressSelfReflect(bool yesNo);
266 
268  virtual bool suppressSelfReflect() const;
269 
272  virtual void setDeviceAddress(const DtString& devAddr);
273 
275  virtual DtString deviceAddress() const;
276 
278  virtual void setSubnetMask(const DtString& mask);
279 
281  virtual DtString subnetMask() const;
282 
283 protected:
284 
285  int myArgc;
286  char** myArgv;
287  DtMtlEnvironment* myMtlEnv;
288 
289  virtual void initializeMtlParams();
290  virtual void loadMtlFile(const DtString& fileName);
291 
292  DtApplicationSettings mySettings;
293  DtConfigVariable<int> myNotifyLevel;
294  DtVariableGroup myDisConnection;
295  DtConfigVariable<int> myConfigVarPort;
296  DtConfigVariable<int> myConfigVarExerciseId;
297  DtConfigVariable<int> myConfigVarSiteNumber;
298  DtConfigVariable<int> myConfigVarApplicationNumber;
299  DtConfigVariable<int> myConfigVarDisVersion;
300  DtConfigVariable<DtString> myConfigVarDestinationAddress;
301  DtConfigVariable<int> myConfigVarSendBufferSize;
302  DtConfigVariable<int> myConfigVarReceiveBufferSize;
303  DtConfigVariable<bool> myConfigVarUseAsyncIo;
304  DtConfigVariable<bool> myConfigVarUseIpv6;
305  DtConfigVariable<bool> myConfigVarSuppressSelfReflect;
306  DtConfigVariable<bool> myConfigVarUseAbsoluteTimestamps;
307  DtConfigVariable<int> myConfigVarMulticastTtl;
308  DtMultiConfigVariable<DtString> myConfigVarMulticastAddresses;
309  DtConfigVariable<DtString> myConfigVarDeviceAddress;
310  DtConfigVariable<DtString> myConfigVarSubnetMask;
311 
312  mutable DtInetAddr myCachedDestAddr;
313  int myMtlUseAsynchronousIO;
314  int myMtlUseAbsoluteTimeStamps;
315  int myMtlUseIpv6;
316  int myMtlSuppressSelfReflect;
317 };
318 
319 #endif
320 #endif
321 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)