MAK Data Logger API Documentation for HLA
 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 
136  virtual DtAbsoluteTime adjustedSimTime(DtAbsoluteTime packetTime) const;
137 
139  virtual void setTimeJump(DtAbsoluteTime jumpTime);
140 
142  virtual bool activity() const = 0;
143 
147  virtual int remoteControlId() const;
148 
150  virtual void setRemoteControlId(int id);
151 
153  virtual void activateFilters(const DtMessageIOInfo* info);
154 
156  virtual void deactivateFilters();
157 
159  virtual bool filter(DtPacket* packet);
160 
163  virtual int addFilter(DtLgrPacketFilter* filter);
164 
168  virtual int removeFilter(const DtLgrPacketFilter* filter);
169 
171  virtual int filterCount() const;
172 
175  virtual int filterIndex(const DtLgrPacketFilter* filter) const;
176 
178 
179  virtual DtLgrPacketFilter* filterByIndex(int index);
180  virtual const DtLgrPacketFilter* filterByIndex(int index) const;
182 
183  virtual void setHeartbeatIntervals(const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& intervals);
184  virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& heartbeatIntervals() const;
185 
186  virtual void setTimeoutIntervals(const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& intervals);
187  virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& timeoutIntervals() const;
188 
190  virtual void updateEntityTracker(const DtString& tracker);
191 
194  virtual void setAllowEntityTracking(bool trackingEnabled);
195 
197  virtual DtLgrEntityTracker* entityTracker();
198 
200  virtual const DtLgrEntityTracker* entityTracker() const;
201 
203  virtual const std::vector<DtString>& filterEntityList();
204 
205  virtual void addTemporaryTrackedEntity(const DtString& name);
206 
208  virtual void setEntityTracker(DtLgrEntityTracker* tracker);
209 
210  //Add list of entity IDs to the current filterEntityList
211  virtual void addToFilterEntityList( const std::vector<DtString>& nameList);
212 
213  virtual void setConfigurationFileName(const DtString& filename) = 0;
214 
216  virtual void initPlayback(DtLgrFileInput& input);
217 
219 
220  virtual bool playbackFilesUseRandomAccess() const;
221  virtual void setPlaybackFilesUseRandomAccess(bool val);
223 
228 
229  virtual double extendedStopTimeoutInterval() const;
230  virtual void setExtendedStopTimeoutInterval(double interval);
232 
234  virtual bool listenWhenIdle() const;
235 
237  virtual void setListenWhenIdle(bool val);
238 
240  virtual bool staticDRAlgorithmWhenPaused() const;
241 
243  virtual void setStaticDRAlgorithmWhenPaused(bool staticDRAlgorithm);
244 
245  protected:
246 
248 
255  std::vector<DtString> myFilterEntityList;
259  typedef std::list<DtLgrPacketFilter*> FilterList;
261  std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord> myHeartbeatIntervals;
262  std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord> myTimeoutIntervals;
268 
269  };
270 
271 }
272 
273 #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)