MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 #pragma once
11 
12 #include <lgrCore/lgrCore.h>
13 #include <lgrCore/lgrDriver.h>
15 #include <map>
16 #include <vlutil/vlTime.h>
17 
18 class DtExerciseConnInitializer;
19 
20 namespace MAKLogger
21 {
22  class DtLgrSimCommandFactory;
23  class DtLgrSimInterface;
24  class DtLgrSimManager;
25  class DtLgrSystemDriver;
26  class DtLgrPacketFilter;
27  class DtLgrEntityIdFilter;
28  class DtLgrMarkingFilter;
29  class DtLgrVRFMessageFilter;
30  class DtMessagePipeline;
31  class DtLgrPlaybackDriver;
32  class DtLgrRecordDriver;
33 
38  {
39  public:
42 
44  typedef std::pair<double, bool> HeartbeatTimeRecord;
45 
47  static DtLgrSimDriver* getFromLogger(const DtLogger& logger);
48 
50  DtLgrSimDriver(DtLgrSystemDriver& systemDriver);
51 
53  virtual ~DtLgrSimDriver();
54 
56  virtual void tick();
57 
66  virtual bool releasePipeline();
67 
69  bool getPipeline();
70 
72  bool hasPipeline() const;
73 
75  virtual bool isConnected() const = 0;
76 
78  virtual void addPacketFilter(DtLgrPacketFilter* filter);
79 
81  virtual void removeFilter(const DtLgrPacketFilter* filter);
82 
84  virtual bool activity() const;
85 
87  virtual int filterCount() const;
88 
90  virtual const DtLgrPacketFilter* filter(int index) const;
91 
93 
94  virtual DtLgrSystemDriver* systemDriver();
95  virtual const DtLgrSystemDriver* systemDriver() const;
97 
99 
100  virtual DtLgrSimManager* simManager() = 0;
101  virtual const DtLgrSimManager* simManager() const = 0;
103 
105  virtual DtLgrPlaybackDriver* getPlaybackDriver(bool checkForFileOpen) const;
106 
108  virtual DtLgrRecordDriver* getRecordDriver(bool checkForFileOpen) const;
109 
111  virtual bool processRemoteControls() const;
112 
114  virtual bool recordRemoteControls() const;
115 
117  virtual bool allowAllRemoteControls() const;
118 
120  virtual bool allowRemoteDelete() const;
121 
123  virtual bool sendResponses() const;
124 
126  virtual bool crippleGui() const;
127 
129  virtual bool useLegacyPdu() const;
130 
132  virtual bool saveConnectConfiguration() const;
133 
135  virtual bool saveIndexConfiguration() const;
136 
138  virtual bool saveProtocolConfiguration() const;
139 
141  virtual bool listenWhenIdle() const;
142 
144  virtual bool staticDRAlgorithmWhenPaused() const;
145 
147  virtual void activateIdleListening();
148 
150  virtual bool isSimTimeAdjusted() const;
151 
153  virtual DtTime connectSendInterval() const;
154 
156  virtual DtTime heartbeatSendInterval() const;
157 
159  virtual bool useSimChannel() const;
160 
162  virtual bool useBackChannel() const;
163 
165  virtual const DtString& backChannelAddress() const;
166 
168  virtual int backChannelPort() const;
169 
171  virtual const DtString& backChannelInterface() const;
172 
174  virtual bool scaleAttributes() const;
175 
177  virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& heartbeatIntervals() const;
178 
180  virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& timeoutIntervals() const;
181 
183  virtual void updateEntityTracker(const DtString& tracker);
184 
186  virtual DtLgrEntityTracker* entityTracker();
187 
188  virtual void addTemporaryTrackedEntity(const DtString& name);
189 
190  virtual void addTemporaryTrackedMarking(const DtString& marking);
191 
192  protected:
193 
195  virtual void setActivity(bool activity);
196 
198  virtual void setVRFMessageFiltering(bool filter,int lowId,int hiId);
199 
201  virtual void configureConnectionInitalizer(DtExerciseConnInitializer& connInitializer) = 0;
202 
204 
205 
206  virtual DtResponse addFilter(const DtCommand& command);
207  virtual DtResponse connect(const DtCommand& command) = 0;
208  virtual DtResponse connectShared(const DtCommand& command) = 0;
209  virtual DtResponse disconnect(const DtCommand& command) = 0;
210  virtual DtResponse setSaveConnectConfiguration(const DtCommand& command);
211  virtual DtResponse setSaveIndexConfiguration(const DtCommand& command);
212  virtual DtResponse setSaveProtocolConfiguration(const DtCommand& command);
213  virtual DtResponse setFilterSettings(const DtCommand& command);
214  virtual DtResponse setScaleAttributes(const DtCommand& command);
215  virtual DtResponse setVRFFiltering(const DtCommand& command);
216  virtual DtResponse addFilteredEntityName(const DtCommand& command);
217  virtual DtResponse clearFilteredEntityNames(const DtCommand& command);
218  virtual DtResponse setHeartbeatIntervals(const DtCommand& command);
219  virtual DtResponse setTimeoutIntervals(const DtCommand& command);
220  virtual DtResponse addTemporaryTrackedEntity(const DtCommand& command);
221  virtual DtResponse setPlaybackFilesUseRandomAccess(const DtCommand& command);
222  virtual DtResponse setExtendedStopTimeoutInterval(const DtCommand& command);
223  virtual DtResponse setListenWhenIdle(const DtCommand& command);
224  virtual DtResponse setAdjustSimTime(const DtCommand& command);
225  virtual DtResponse setStaticDRAlgorithmWhenPaused(const DtCommand& command);
226  virtual DtResponse filterMarkings(const DtCommand& command);
228 
229  virtual DtResponse setRemoteControlSettings(const DtCommand& command);
230  virtual DtResponse setBackChannelConnection(const DtCommand& command);
231  virtual DtResponse setRemoteControlId(const DtCommand& command);
233 
234 
235 
236  protected:
237 
260 
264  };
265 
266 }

Document ID: Generated on Thu Jul 23 15:05:27 EDT 2020 from SVN revision 215371
Copyright © 2020 MAK Technologies. All Rights Reserved (www.mak.com)