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 
159  virtual void setAllowCoupledPdus(bool yesNo);
160 
162  virtual bool allowCoupledPdus() const;
163 
164 public:
165 
167  static DtString vrlinkVersion();
168 
169 private:
170  int myPort;
171  int myExerciseId;
172  int mySiteId;
173  int myApplicationNumber;
174  bool myUseAsynchIO;
175  DtTimeStampType myTimeStampType;
176  int mySendBufferSize;
177  int myReceiveBufferSize;
178  int myMulticastTtl;
179  std::vector<DtString> myMulticastAddresses;
180  bool myUseIpv6;
181  bool mySuppressSelfReflect;
182  bool myAllowCoupledPdus;
183  DtString myDeviceAddress;
184  DtString myDestinationAddress;
185  DtString mySubnetMask;
186  DtDisSocket* mySocket;
187 };
188 
201 {
202 public:
203  DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName,
205 
206  virtual ~DtVrlApplicationInitializer();
207 
208  virtual void parseCmdLine();
209 
213  virtual void loadFile(const DtString& fileName);
214 
216  virtual void saveFile(const DtString& filename);
217 
220  virtual void setArgc(int);
222  virtual int argc() const;
223 
226  virtual void setArgv(char**);
228  virtual char** argv() const;
229 
230  virtual void setPort(int port);
231  virtual int port() const;
232 
233  virtual void setExerciseId(int id);
234  virtual int exerciseId() const;
235 
236  virtual void setApplicationNumber(int num);
237  virtual int applicationNumber() const;
238 
239  virtual void setSiteId(int id);
240  virtual int siteId() const;
241 
242  virtual void setDestinationAddress(const DtString& address);
243  virtual DtString destinationAddress() const;
244 
245  virtual void setNotifyLevel(int level);
246 
247  //{@
249  virtual void setNotifyFileLevel(int level);
250  virtual int notifyFileLevel() const;
252 
253  //{@
255  virtual void setNotifyFilename(const DtString& file);
256  virtual DtString notifyFilename() const;
258 
259  virtual void setSendBufferSize(int numBytes);
260  virtual int sendBufferSize() const;
261 
262  virtual void setReceiveBufferSize(int numBytes);
263  virtual int receiveBufferSize() const;
264 
266  virtual void setUseAsynchIO(bool on);
267 
269  virtual bool useAsynchIO() const;
270 
273  virtual void setMulticastTtl(int ttl);
274 
277  virtual int multicastTtl() const;
278 
281  virtual void setTimeStampType(DtTimeStampType relOrAbs);
282 
284  virtual DtTimeStampType timeStampType() const;
285 
286  virtual void setMulticastAddresses(const std::vector<DtString>& addresses);
287  virtual const std::vector<DtString>& multicastAddresses() const;
288 
289  virtual void setUseIpv6(bool val);
290  virtual bool useIpv6() const;
291 
293  virtual void setSuppressSelfReflect(bool yesNo);
294 
296  virtual bool suppressSelfReflect() const;
297 
299  virtual void setAllowCoupledPdus(bool yesNo);
300 
302  virtual bool allowCoupledPdus() const;
303 
306  virtual void setDeviceAddress(const DtString& devAddr);
307 
309  virtual DtString deviceAddress() const;
310 
312  virtual void setSubnetMask(const DtString& mask);
313 
315  virtual DtString subnetMask() const;
316 
317 protected:
319  virtual void initializeFileLogging();
320 
321 protected:
322  int myArgc;
323  char** myArgv;
324  DtMtlEnvironment* myMtlEnv;
325 
326  virtual void initializeMtlParams();
327  virtual void loadMtlFile(const DtString& fileName);
328 
329  DtApplicationSettings mySettings;
330  DtConfigVariable<int> myNotifyLevel;
331  DtVariableGroup myDisConnection;
332  DtConfigVariable<int> myConfigVarPort;
333  DtConfigVariable<int> myConfigVarExerciseId;
334  DtConfigVariable<int> myConfigVarSiteNumber;
335  DtConfigVariable<int> myConfigVarApplicationNumber;
336  DtConfigVariable<int> myConfigVarDisVersion;
337  DtConfigVariable<DtString> myConfigVarDestinationAddress;
338  DtConfigVariable<int> myConfigVarSendBufferSize;
339  DtConfigVariable<int> myConfigVarReceiveBufferSize;
340  DtConfigVariable<bool> myConfigVarUseAsyncIo;
341  DtConfigVariable<bool> myConfigVarUseIpv6;
342  DtConfigVariable<bool> myConfigVarSuppressSelfReflect;
343  DtConfigVariable<bool> myConfigVarAllowCoupledPdus;
344  DtConfigVariable<bool> myConfigVarUseAbsoluteTimestamps;
345  DtConfigVariable<int> myConfigVarMulticastTtl;
346  DtMultiConfigVariable<DtString> myConfigVarMulticastAddresses;
347  DtConfigVariable<DtString> myConfigVarDeviceAddress;
348  DtConfigVariable<DtString> myConfigVarSubnetMask;
349  DtConfigVariable<int> myConfigVarNotifyFileLevel;
350  DtConfigVariable<DtString> myConfigVarNotifyFilename;
351 
352  // If logging is turned on, this printer will remain in memory
353  // even after this class is destroyed. Otherwise we would
354  // have to stop logging prematurely.
355  DtFilePrinter* myLogFilePrinter;
356 
357  mutable DtInetAddr myCachedDestAddr;
358  int myMtlUseAsynchronousIO;
359  int myMtlUseAbsoluteTimeStamps;
360  int myMtlUseIpv6;
361  int myMtlSuppressSelfReflect;
362  int myMtlAllowCoupledPdus;
363 };
364 
365 #endif
366 #endif
367 

Document ID: Generated on Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)