MAK Data Logger API Documentation for DIS
lgrSimInterface.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 lgrSimInterface_H_
11 #define lgrSimInterface_H_
12 
13 #include "lgrCore.h"
14 #include "lgrInterface.h"
15 #include "lgrEntityTracker.h"
16 #include "signalSlot.h"
17 #include "virtualConstructor.h"
18 
19 #include <vlutil/vlString.h>
20 #include <vlutil/vlTime.h>
21 #include <list>
22 
23 class DtExerciseConn;
24 
25 namespace MAKLogger
26 {
27  class DtLgrSimDriver;
28  class DtLgrSimCommandFactory;
29  class DtLgrPacketFilter;
30 
35  {
36  public:
37 
40 
41  public:
42 
45 
46 
48 
49  public:
50 
52  virtual ~DtLgrSimInterface();
53 
55  virtual DtLgrProtocolId protocolId() const = 0;
56 
58  virtual DtString protocolName() const;
59 
61  virtual void connect() const;
62 
64  virtual void connectToSharedExerciseConn(DtExerciseConn* exconn,
65  bool allowDrainInput,bool allowSetSimTime,bool allowUnsubscribe) const;
66 
68  virtual void disconnect() const;
69 
71  virtual void getLoggerName(DtString& name) const = 0;
72 
74  virtual bool isConnected() const;
75 
77  virtual void setDumpFilename(const DtString&);
78 
80  virtual bool processRemoteControls() const;
81 
84  virtual bool recordRemoteControls() const;
85 
87  virtual bool allowAllRemoteControls() const;
88 
90  virtual bool allowRemoteDelete() const;
91 
93  virtual int remoteControlId() const;
94 
96  virtual bool sendResponses() const;
97 
99  virtual bool crippleGui() const;
100 
102  virtual bool useLegacyPdu() const;
103 
105  virtual DtTime connectSendInterval() const;
106 
108  virtual DtTime heartbeatSendInterval() const;
109 
111  virtual bool useBackChannel() const;
112 
114  virtual const DtString& backChannelAddress() const;
115 
117  virtual int backChannelPort() const;
118 
120  virtual const DtString& backChannelInterface() const;
121 
123  virtual void setRemoteControlSettings(bool process, bool record,
124  bool allowDelete, bool allowAll, bool sendResponses, bool crippleGui, bool useLegacyPdu,
125  DtTime connectSendInterval, DtTime heartbeatSendInterval) const;
126 
128  virtual void addFilteredEntityName(const DtString& name) const;
129 
131  virtual void clearFilteredEntityNames() const;
132 
140  virtual void addFilter(DtLgrPacketFilter*) const;
141 
146  virtual void setFilterSettings(const DtLgrPacketFilter*) const;
147 
149  virtual int filterCount() const;
150 
153  virtual int filterIndex( const DtLgrPacketFilter* filter ) const;
154 
156  virtual void setScaleAttributes(bool scale) const;
157 
159  virtual bool scaleAttributes() const;
160 
162  virtual bool networkActivity() const;
163 
165  virtual void setSaveConnectionConfiguration(bool saveConnectConfig) const;
166 
168  virtual bool saveConnectConfiguration() const;
169 
171 
172  DtLgrPacketFilter* filter(int index);
173  const DtLgrPacketFilter* filter(int index) const;
175 
177  DtValueSignal<int> filterCountChangedSignal;
178 
180  DtValueSignal<bool> connectedStatusChangedSignal;
181 
183  DtValueSignal<bool> unableToConnectSignal;
184 
186  DtValueSignal<bool> activityChangedSignal;
187 
189  DtValueSignal<bool> crippleGuiChangedSignal;
190 
192  virtual const DtLgrEntityTracker* entityTracker() const;
193 
195  virtual void addTemporaryTrackedEntity(const DtString& name) const;
196 
198  virtual bool connectionSettingsMatchInputFile( DtString& filename);
199 
201  virtual void useRecommendedSettings();
202 
204  virtual EntityTrackerUpdateId entityTrackerUpdateId() const;
205 
206  protected:
207 
210  void connectResponseHandlers();
211 
214  virtual void connectResponseHandler(DtLgrCommandId,
215  void (DtLgrSimInterface::*)(DtResponse));
216 
218 
219  void updatedEntityTracker(DtResponse response);
220  void connected(DtResponse);
221  void disconnected(DtResponse);
222  void unableToConnect(DtResponse);
223  void lostConnection(DtResponse);
224  void filterAdded(DtResponse);
225  void filterRemoved(DtResponse);
226  void filterModified(DtResponse);
227  void remoteControlsChanged(DtResponse);
228  void activityChanged(DtResponse);
229  void scaleAttributesChanged(DtResponse);
230  void remoteControlIdChanged(DtResponse);
231  void backChannelConnectionChanged(DtResponse);
232  void saveConnectConfigurationChanged(DtResponse response);
234 
235 
236  protected:
237  bool myConnectedFlag;
238  bool myFailedConnectFlag;
239  bool myActivityFlag;
240  bool myProcessRemoteControls;
241  bool myRecordRemoteControls;
242  bool myAllowAllRemoteControls;
243  bool myAllowRemoteDelete;
244  bool mySendResponses;
245  bool myCrippleGui;
246  bool myUseLegacyPdu;
247  bool myUseBackChannel;
248  bool mySaveConnectConfiguration;
249  DtString myBackChannelAddress;
250  DtString myBackChannelInterface;
251  int myBackChannelPort;
252  DtTime myConnectSendInterval;
253  DtTime myHeartbeatSendInterval;
254 
255  bool myScaleAttributes;
256  int myFilterCount;
257  DtString myDumpFilename;
258  typedef std::list<DtLgrPacketFilter*> FilterTypeList;
259  FilterTypeList myFilterList;
260  DtLgrEntityTracker* myEntityTracker;
261  int myEntityTrackerUpdateId;
262  int myRemoteControlId;
263  };
264 
265 }
266 
267 #endif

Document ID: Generated on Mon Jan 19 08:20:14 EST 2015 from SVN revision 149581
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)