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 DtString protocol() const = 0;
56 
58  virtual void connect() const;
59 
61  virtual void connectToSharedExerciseConn(DtExerciseConn* exconn,
62  bool allowDrainInput,bool allowSetSimTime,bool allowUnsubscribe) const;
63 
65  virtual void disconnect() const;
66 
68  virtual void getLoggerName(DtString& name) const = 0;
69 
71  virtual bool isConnected() const;
72 
74  virtual void setDumpFilename(const DtString&);
75 
77  virtual bool processRemoteControls() const;
78 
81  virtual bool recordRemoteControls() const;
82 
84  virtual bool allowAllRemoteControls() const;
85 
87  virtual bool allowRemoteDelete() const;
88 
90  virtual int remoteControlId() const;
91 
93  virtual bool sendResponses() const;
94 
96  virtual bool crippleGui() const;
97 
99  virtual bool useLegacyPdu() const;
100 
102  virtual DtTime connectSendInterval() const;
103 
105  virtual DtTime heartbeatSendInterval() const;
106 
108  virtual bool useBackChannel() const;
109 
111  virtual const DtString& backChannelAddress() const;
112 
114  virtual int backChannelPort() const;
115 
117  virtual const DtString& backChannelInterface() const;
118 
120  virtual void setRemoteControlSettings(bool process, bool record,
121  bool allowDelete, bool allowAll, bool sendResponses, bool crippleGui, bool useLegacyPdu,
122  DtTime connectSendInterval, DtTime heartbeatSendInterval) const;
123 
125  virtual void addFilteredEntityName(const DtString& name) const;
126 
128  virtual void clearFilteredEntityNames() const;
129 
137  virtual void addFilter(DtLgrPacketFilter*) const;
138 
143  virtual void setFilterSettings(const DtLgrPacketFilter*) const;
144 
146  virtual int filterCount() const;
147 
150  virtual int filterIndex( const DtLgrPacketFilter* filter ) const;
151 
153  virtual void setScaleAttributes(bool scale) const;
154 
156  virtual bool scaleAttributes() const;
157 
159  virtual bool networkActivity() const;
160 
162 
163  DtLgrPacketFilter* filter(int index);
164  const DtLgrPacketFilter* filter(int index) const;
166 
168  DtValueSignal<int> filterCountChangedSignal;
169 
171  DtValueSignal<bool> connectedStatusChangedSignal;
172 
174  DtValueSignal<bool> unableToConnectSignal;
175 
177  DtValueSignal<bool> activityChangedSignal;
178 
180  DtValueSignal<bool> crippleGuiChangedSignal;
181 
183  virtual const DtLgrEntityTracker* entityTracker() const;
184 
186  virtual void addTemporaryTrackedEntity(const DtString& name) const;
187 
189  virtual EntityTrackerUpdateId entityTrackerUpdateId() const;
190 
191  protected:
192 
195  void connectResponseHandlers();
196 
199  virtual void connectResponseHandler(DtLgrCommandId,
200  void (DtLgrSimInterface::*)(DtResponse));
201 
203 
204  void updatedEntityTracker(DtResponse response);
205  void connected(DtResponse);
206  void disconnected(DtResponse);
207  void unableToConnect(DtResponse);
208  void lostConnection(DtResponse);
209  void filterAdded(DtResponse);
210  void filterRemoved(DtResponse);
211  void filterModified(DtResponse);
212  void remoteControlsChanged(DtResponse);
213  void activityChanged(DtResponse);
214  void scaleAttributesChanged(DtResponse);
215  void remoteControlIdChanged(DtResponse);
216  void backChannelConnectionChanged(DtResponse);
218 
219 
220  protected:
221  bool myConnectedFlag;
222  bool myFailedConnectFlag;
223  bool myActivityFlag;
224  bool myProcessRemoteControls;
225  bool myRecordRemoteControls;
226  bool myAllowAllRemoteControls;
227  bool myAllowRemoteDelete;
228  bool mySendResponses;
229  bool myCrippleGui;
230  bool myUseLegacyPdu;
231  bool myUseBackChannel;
232  DtString myBackChannelAddress;
233  DtString myBackChannelInterface;
234  int myBackChannelPort;
235  DtTime myConnectSendInterval;
236  DtTime myHeartbeatSendInterval;
237 
238  bool myScaleAttributes;
239  int myFilterCount;
240  DtString myDumpFilename;
241  typedef std::list<DtLgrPacketFilter*> FilterTypeList;
242  FilterTypeList myFilterList;
243  DtLgrEntityTracker* myEntityTracker;
244  int myEntityTrackerUpdateId;
245  int myRemoteControlId;
246  };
247 
248 }
249 
250 #endif

Document ID: Generated on Sun Dec 15 18:04:30 EST 2013 from SVN revision 134418
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)