MAK Data Logger API Documentation for HLA
lgrSimDriver.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 lgrSimDriver_H_
11 #define lgrSimDriver_H_
12 
13 #include "lgrCore.h"
14 #include "lgrDriver.h"
15 #include "lgrEntityTracker.h"
16 #include <map>
17 #include <vlutil/vlTime.h>
18 
19 namespace MAKLogger
20 {
21  class DtLgrSimCommandFactory;
22  class DtLgrSimInterface;
23  class DtLgrSimManager;
24  class DtLgrSystemDriver;
25  class DtLgrPacketFilter;
26  class DtLgrEntityIdFilter;
27  class DtLgrVRFMessageFilter;
28 
33  {
34  public:
37 
39  typedef std::pair<double, bool> HeartbeatTimeRecord;
40 
42  static DtLgrSimDriver* getFromLogger(const DtLogger& logger);
43 
45  DtLgrSimDriver(DtLgrSystemDriver& systemDriver);
46 
48  virtual ~DtLgrSimDriver();
49 
51  virtual void tick();
52 
54  virtual bool isConnected() const = 0;
55 
57  virtual void addPacketFilter(DtLgrPacketFilter* filter);
58 
60  virtual void removeFilter(const DtLgrPacketFilter* filter);
61 
63  virtual bool activity() const;
64 
66  virtual int filterCount() const;
67 
69  virtual const DtLgrPacketFilter* filter(int index) const;
70 
72 
73  virtual DtLgrSystemDriver* systemDriver();
74  virtual const DtLgrSystemDriver* systemDriver() const;
76 
78 
79  virtual DtLgrSimManager* simManager() = 0;
80  virtual const DtLgrSimManager* simManager() const = 0;
82 
84  virtual bool processRemoteControls() const;
85 
87  virtual bool recordRemoteControls() const;
88 
90  virtual bool allowAllRemoteControls() const;
91 
93  virtual bool allowRemoteDelete() const;
94 
96  virtual bool sendResponses() const;
97 
99  virtual bool crippleGui() const;
100 
102  virtual bool useLegacyPdu() const;
103 
105  virtual bool saveConnectConfiguration() const;
106 
108  virtual DtTime connectSendInterval() const;
109 
111  virtual DtTime heartbeatSendInterval() const;
112 
114  virtual bool useBackChannel() const;
115 
117  virtual const DtString& backChannelAddress() const;
118 
120  virtual int backChannelPort() const;
121 
123  virtual const DtString& backChannelInterface() const;
124 
126  virtual bool scaleAttributes() const;
127 
129  virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& heartbeatIntervals() const;
130 
132  virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& timeoutIntervals() const;
133 
135  virtual void updateEntityTracker(const DtString& tracker);
136 
138  virtual DtLgrEntityTracker* entityTracker();
139 
140  virtual void addTemporaryTrackedEntity(const DtString& name);
141 
142  protected:
143 
145  virtual void setActivity(bool activity);
146 
148  virtual void setVRFMessageFiltering(bool filter,int lowId,int hiId);
149 
151 
152 
153  virtual DtResponse addFilter(const DtCommand& command);
154  virtual DtResponse connect(const DtCommand& command) = 0;
155  virtual DtResponse connectShared(const DtCommand& command) = 0;
156  virtual DtResponse disconnect(const DtCommand& command) = 0;
157  virtual DtResponse setSaveConnectConfiguration(const DtCommand& command);
158  virtual DtResponse setFilterSettings(const DtCommand& command);
159  virtual DtResponse setScaleAttributes(const DtCommand& command);
160  virtual DtResponse setVRFFiltering(const DtCommand& command);
161  virtual DtResponse addFilteredEntityName(const DtCommand& command);
162  virtual DtResponse clearFilteredEntityNames(const DtCommand& command);
163  virtual DtResponse setHeartbeatIntervals(const DtCommand& command);
164  virtual DtResponse setTimeoutIntervals(const DtCommand& command);
165  virtual DtResponse addTemporaryTrackedEntity(const DtCommand& command);
166  virtual DtResponse setPlaybackFilesUseRandomAccess(const DtCommand& command);
168 
170  virtual DtResponse setRemoteControlSettings(const DtCommand& command);
171  virtual DtResponse setBackChannelConnection(const DtCommand& command);
172  virtual DtResponse setRemoteControlId(const DtCommand& command);
173 
174  protected:
175 
194 
198  };
199 
200 }
201 
202 #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)