MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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/lgrCore.h>
14 #include <lgrCore/lgrInterface.h>
16 #include <lgrUtil/signalSlot.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  virtual void setSaveIndexConfiguration(bool saveIndexConfig) const;
172 
174  virtual bool saveIndexConfiguration() const;
175 
177  virtual void setSaveProtocolConfiguration(bool saveProtocolConfig) const;
178 
180  virtual bool saveProtocolConfiguration() const;
181 
183  virtual void setListenWhenIdle(bool listen) const;
184 
186  virtual bool listenWhenIdle() const;
187 
189  virtual bool staticDROnPause() const;
190 
192  virtual void setStaticDROnPause(bool staticDRAlgorithm) const;
193 
195 
196  DtLgrPacketFilter* filter(int index);
197  const DtLgrPacketFilter* filter(int index) const;
199 
201  virtual const DtLgrEntityTracker* entityTracker() const;
202 
204  virtual void addTemporaryTrackedEntity(const DtString& name) const;
205 
207  virtual bool connectionSettingsMatchInputFile( DtString& filename);
208 
210  virtual void useRecommendedSettings();
211 
213  virtual EntityTrackerUpdateId entityTrackerUpdateId() const;
214 
215  public:
216 
218  DtValueSignal<int> filterCountChangedSignal;
219 
221  DtValueSignal<bool> connectedStatusChangedSignal;
222 
224  DtValueSignal<bool> unableToConnectSignal;
225 
227  DtValueSignal<bool> activityChangedSignal;
228 
230  DtValueSignal<bool> crippleGuiChangedSignal;
231 
232  protected:
233 
236  void connectResponseHandlers();
237 
240  virtual void connectResponseHandler(DtLgrCommandId,
241  void (DtLgrSimInterface::*)(DtResponse));
242 
244 
245  void updatedEntityTracker(DtResponse response);
246  void connected(DtResponse);
247  void disconnected(DtResponse);
248  void unableToConnect(DtResponse);
249  void lostConnection(DtResponse);
250  void filterAdded(DtResponse);
251  void filterRemoved(DtResponse);
252  void filterModified(DtResponse);
253  void remoteControlsChanged(DtResponse);
254  void activityChanged(DtResponse);
255  void scaleAttributesChanged(DtResponse);
256  void remoteControlIdChanged(DtResponse);
257  void backChannelConnectionChanged(DtResponse);
258  void saveConnectConfigurationChanged(DtResponse response);
259  void saveIndexConfigurationChanged(DtResponse response);
260  void saveProtocolConfigurationChanged(DtResponse response);
261  void listenWhenIdleChanged(DtResponse response);
262  void staticDROnPauseChanged(DtResponse response);
264 
265 
266  protected:
267  bool myConnectedFlag;
268  bool myFailedConnectFlag;
269  bool myActivityFlag;
270  bool myProcessRemoteControls;
271  bool myRecordRemoteControls;
272  bool myAllowAllRemoteControls;
273  bool myAllowRemoteDelete;
274  bool mySendResponses;
275  bool myCrippleGui;
276  bool myUseLegacyPdu;
277  bool myUseBackChannel;
278  bool mySaveConnectConfiguration;
279  bool mySaveIndexConfiguration;
280  bool mySaveProtocolConfiguration;
281  bool myListenWhenIdle;
282  bool myStaticDROnPause;
283  DtString myBackChannelAddress;
284  DtString myBackChannelInterface;
285  int myBackChannelPort;
286  DtTime myConnectSendInterval;
287  DtTime myHeartbeatSendInterval;
288 
289  bool myScaleAttributes;
290  int myFilterCount;
291  DtString myDumpFilename;
292  typedef std::list<DtLgrPacketFilter*> FilterTypeList;
293  FilterTypeList myFilterList;
294  DtLgrEntityTracker* myEntityTracker;
295  int myEntityTrackerUpdateId;
296  int myRemoteControlId;
297  };
298 
299 }
300 
301 #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)