MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrSimManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef lgrSimManager_H_
10 #define lgrSimManager_H_
11 
12 #include <lgrCore/lgrCore.h>
13 #include <lgrUtil/filePosition.h>
14 #include <lgrCore/lgrSimDriver.h>
15 #include <vlutil/vlString.h>
16 #include <list>
18 
19 namespace MAKLogger
20 {
21 
22  class DtPacket;
23  class DtLgrPacketFilter;
24  class DtAbsoluteTime;
25  class DtLgrSimInput;
26  class DtLgrSimOutput;
27  class DtLgrFileInput;
28  class DtLgrFileOutput;
29  class DtMessageState;
30  class DtLegacyLoggerFile;
31  class DtTimeProvider;
32  class DtLgrClock;
33  class DtCheckpointPolicy;
34  class DtLgrVRFMessageFilter;
35  class DtMessageIOInfo;
36  class DtMessagePipeline;
37 
41  {
42  public:
44  virtual ~DtLgrSimManager();
45 
47  virtual bool isConnected() const = 0;
48 
50  virtual void tick() = 0;
51 
53  virtual bool scaleAttributes() const;
54 
56  virtual void setScaleAttributes(bool enable);
57 
61  virtual DtLgrFileInput* openFileForInput(const DtString& filename) const = 0;
62 
66  virtual DtLgrFileOutput* openFileForCopying(const DtString& filename,
67  const DtLgrFileInput* input) const = 0;
68 
73  virtual DtLgrFileOutput* openFileForOutput(const DtString& filename,
74  const DtString& description) const = 0;
75 
77  virtual DtLgrFileInput* openPartialFileForCopying(
78  const DtLgrFileOutput* output, DtFilePosition firstPacket,
79  DtFilePosition lastPacket) const = 0;
80 
82  virtual DtMessageState* createState() const = 0;
83 
85  virtual const DtLgrSimInput* input() const = 0;
87  virtual DtLgrSimInput* input() = 0;
88 
90  virtual const DtLgrSimOutput* output() const = 0;
92  virtual DtLgrSimOutput* output() = 0;
93 
95  virtual const DtMessageState* state() const = 0;
97  virtual DtMessageState* state() = 0;
98 
100  virtual void activateIdleListening(DtMessagePipeline* pipeLine);
101 
103  virtual void deactivateIdleListening(DtMessagePipeline* pipeLine);
104 
106 
107  virtual void setEntitiesForRefresh(const DtLgrEntityTracker::EntryHandleSet& handleSet);
108  virtual const DtLgrEntityTracker::EntryHandleSet& entitiesForRefresh() const;
109  virtual void clearEntitiesForRefresh();
111 
113  virtual void setTimeProvider(DtTimeProvider* provider);
114 
116 
117  virtual DtTimeProvider* timeProvider();
118  virtual const DtTimeProvider* timeProvider() const;
120 
123  virtual DtAbsoluteTime simTime() const;
124 
126  virtual void setSimTime(DtAbsoluteTime simTime);
127 
129  virtual void setAdjustSimTime(bool adjustSimTime);
130 
132  virtual bool isSimTimeAdjusted() const;
133 
137  virtual DtTime adjustedSimTime(DtTime packetTime, bool includeOffset=false) const;
138 
140  virtual void setTimeJump(DtAbsoluteTime jumpTime);
141 
143  virtual void setInitialTime(DtAbsoluteTime initialTime);
144 
146  virtual bool activity() const = 0;
147 
151  virtual int remoteControlId() const;
152 
154  virtual void setRemoteControlId(int id);
155 
157  virtual void activateFilters(const DtMessageIOInfo* info);
158 
160  virtual void deactivateFilters();
161 
163  virtual bool filter(DtPacket* packet);
164 
167  virtual int addFilter(DtLgrPacketFilter* filter);
168 
172  virtual int removeFilter(const DtLgrPacketFilter* filter);
173 
175  virtual int filterCount() const;
176 
179  virtual int filterIndex(const DtLgrPacketFilter* filter) const;
180 
182 
183  virtual DtLgrPacketFilter* filterByIndex(int index);
184  virtual const DtLgrPacketFilter* filterByIndex(int index) const;
186 
187  virtual void setHeartbeatIntervals(const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& intervals);
188  virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& heartbeatIntervals() const;
189 
190  virtual void setTimeoutIntervals(const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& intervals);
191  virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& timeoutIntervals() const;
192 
194  virtual void updateEntityTracker(const DtString& tracker);
195 
198  virtual void setAllowEntityTracking(bool trackingEnabled);
199 
201  virtual DtLgrEntityTracker* entityTracker();
202 
204  virtual const DtLgrEntityTracker* entityTracker() const;
205 
207  virtual const std::vector<DtString>& filterEntityList();
208 
209  virtual void addTemporaryTrackedEntity(const DtString& name);
210 
211  virtual void addTemporaryTrackedMarking(const DtString& marking);
212 
214  virtual void setEntityTracker(DtLgrEntityTracker* tracker);
215 
216  //Add list of entity IDs to the current filterEntityList
217  virtual void addToFilterEntityList( const std::vector<DtString>& nameList);
218 
219  virtual void setConfigurationFileName(const DtString& filename) = 0;
220 
222  virtual void initPlayback(DtLgrFileInput& input);
223 
225 
226  virtual bool playbackFilesUseRandomAccess() const;
227  virtual void setPlaybackFilesUseRandomAccess(bool val);
229 
234 
235  virtual double extendedStopTimeoutInterval() const;
236  virtual void setExtendedStopTimeoutInterval(double interval);
238 
240  virtual bool listenWhenIdle() const;
241 
243  virtual void setListenWhenIdle(bool val);
244 
246  virtual bool staticDRAlgorithmWhenPaused() const;
247 
249  virtual void setStaticDRAlgorithmWhenPaused(bool staticDRAlgorithm);
250 
251  protected:
252 
254 
262  std::vector<DtString> myFilterEntityList;
266  typedef std::list<DtLgrPacketFilter*> FilterList;
268  std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord> myHeartbeatIntervals;
269  std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord> myTimeoutIntervals;
275 
276  };
277 
278 }
279 
280 #endif

Document ID: Generated on Tue Aug 1 09:00:26 EDT 2017 from SVN revision 179128
Copyright © 2017 VT MÄK. All Rights Reserved (www.mak.com)