MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrDisSimInterface.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrDisSimInterface_H_
11 #define lgrDisSimInterface_H_
12 
13 #if DtDIS
14 
15 #include <lgrSim/lgrSim.h>
16 
17 #include <vlutil/vlUtil.h>
18 #include <vlutil/vlInetAddr.h>
20 
21 namespace MAKLogger
22 {
23  class DtDisDescriptor;
24  class DtLgrDisEntityTypeManager;
25  class DtLgrDisSimDriver;
26  class DtLgrDisCommandFactory;
27 
30  class DT_DLL_LGRSIM DtLgrDisSimInterface : public DtLgrSimInterface
31  {
32  public:
33  typedef DtLgrDisCommandFactory Factory;
34 
36  static DtLgrDisSimInterface* create(DtLogger&);
37 
39  static DtLgrSimInterface* createBase(DtLogger&);
40 
42  virtual ~DtLgrDisSimInterface();
43 
46  static DtLgrDisSimInterface* createNonThreadsafe(DtLogger& logger,
47  const DtLgrDisSimDriver& driver);
48 
50  virtual DtLgrProtocolId protocolId() const;
51 
52  virtual void setConnectionParameters(int port, int exerciseId, int siteId, int appNumber,
53  bool useAsynchIO, int sendBufferSize, int recvBufferSize, int multicastTtl,
54  const DtString& destAddrString, const DtString& netmask, const DtString& deviceAddrString,
55  const std::vector<DtString>& mcastAddresses) const;
56 
58  virtual void getLoggerName(DtString& name) const;
59 
61  virtual void setDisVersion(int version) const;
62 
64  virtual void setHeartbeatRate(double rate) const;
65 
67  virtual void setTimeoutRate(double rate) const;
68 
70  virtual void setDisDescription(const DtDisDescriptor& desc) const;
71 
73  virtual void setDrainInputSettings(double maxTime,
74  int numPdusToRead) const;
75 
77  virtual const DtDisDescriptor* disDescription() const;
78 
80  virtual void setEntityTypeManager(const DtLgrDisEntityTypeManager& mgr) const;
81 
83  virtual const DtLgrDisEntityTypeManager* entityTypeManager() const;
84 
86 
87  virtual int port() const;
88  virtual int exerciseId() const;
89  virtual int siteId() const;
90  virtual int appNumber() const;
91  virtual bool useAsynchIO() const;
92  virtual int sendBufferSize() const;
93  virtual int recvBufferSize() const;
94  virtual int multicastTtl() const;
95  virtual DtInetAddr destAddr() const;
96  virtual const DtString& netmask() const;
97  virtual DtInetAddr deviceAddr() const;
98  virtual const std::vector<DtString>& mcastAddresses() const;
100 
102  virtual int disVersion() const;
103 
105  virtual double heartbeatRate() const;
106 
108  virtual double timeoutRate() const;
109 
111  virtual double drainInputMaxTime() const;
112 
114  virtual int numPdusToReadPerTimeCheck() const;
115 
117  virtual bool connectionSettingsMatchInputFile( DtString& filename);
118 
119  protected:
120 
122  void connectResponseHandler(DtLgrCommandId id,
123  void (DtLgrDisSimInterface::* function)(DtResponse));
125  void connectionParametersChanged(DtResponse response);
126  void disVersionChanged(DtResponse response);
127  void heartbeatRateChanged(DtResponse response);
128  void timeoutRateChanged(DtResponse response);
129  void disDescriptionChanged(DtResponse response);
130  void entityTypeManagerChanged(DtResponse response);
131  void drainInputSettingsChanged(DtResponse response);
132 
133  DtLgrDisSimInterface(DtLogger& logger,const DtLgrDisSimDriver& driver);
134 
135  DtDisDescriptor* myDisDescriptor;
136  DtLgrDisEntityTypeManager* myEntityTypeManager;
137 
138  int myDisVersion;
139  int myPort;
140  int myExerciseId;
141  int mySiteId;
142  int myAppNumber;
143  bool myUseAsynchIO;
144  int mySendBufferSize;
145  int myRecvBufferSize;
146  int myMulticastTtl;
147  DtInetAddr myDestAddr;
148  DtInetAddr myDeviceAddr;
149  DtString myNetmask;
150  std::vector<DtString> myMcastAddresses;
151  double myHeartBeatRate;
152  double myTimeoutRate;
153  double myDrainInputMaxTime;
154  int myNumPdusToReadPerTimeCheck;
155  };
156 
157 }
158 
159 #endif
160 #endif

Document ID: Generated on Thu Apr 7 20:50:59 EDT 2016 from SVN revision 163818
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)