MAK Data Logger API Documentation for DIS
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.h"
13 #include "filePosition.h"
14 #include "lgrSimDriver.h"
15 #include <vlutil/vlString.h>
16 #include <list>
17 #include "lgrEntityTracker.h"
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 DtCheckpointPolicy;
33  class DtLgrVRFMessageFilter;
34  class DtMessageIOInfo;
35 
39  {
40  public:
42  virtual ~DtLgrSimManager();
43 
45  virtual bool isConnected() const = 0;
46 
48  virtual void tick() = 0;
49 
51  virtual bool scaleAttributes() const;
52 
54  virtual void setScaleAttributes(bool enable);
55 
59  virtual DtLgrFileInput* openFileForInput(const DtString& filename) const = 0;
60 
64  virtual DtLgrFileOutput* openFileForCopying(const DtString& filename,
65  const DtLgrFileInput* input) const = 0;
66 
71  virtual DtLgrFileOutput* openFileForOutput(const DtString& filename,
72  const DtString& description) const = 0;
73 
75  virtual DtLgrFileInput* openPartialFileForCopying(
76  const DtLgrFileOutput* output, DtFilePosition firstPacket,
77  DtFilePosition lastPacket) const = 0;
78 
80  virtual DtMessageState* createState() const = 0;
81 
83  virtual const DtLgrSimInput* input() const = 0;
85  virtual DtLgrSimInput* input() = 0;
86 
88  virtual const DtLgrSimOutput* output() const = 0;
90  virtual DtLgrSimOutput* output() = 0;
91 
93  virtual const DtMessageState* state() const = 0;
95  virtual DtMessageState* state() = 0;
96 
98 
99  virtual void setEntitiesForRefresh(const DtLgrEntityTracker::EntryHandleSet& handleSet);
100  virtual const DtLgrEntityTracker::EntryHandleSet& entitiesForRefresh() const;
101  virtual void clearEntitiesForRefresh();
103 
105  virtual const DtTimeProvider* timeProvider() const = 0;
106 
108  virtual bool activity() const = 0;
109 
112  virtual DtAbsoluteTime simTime() const = 0;
113 
117  virtual int remoteControlId() const;
118 
120  virtual void setRemoteControlId(int id);
121 
123  virtual void activateFilters(const DtMessageIOInfo* info);
124 
126  virtual void deactivateFilters();
127 
129  virtual bool filter(DtPacket* packet);
130 
133  virtual int addFilter(DtLgrPacketFilter* filter);
134 
138  virtual int removeFilter(const DtLgrPacketFilter* filter);
139 
141  virtual int filterCount() const;
142 
145  virtual int filterIndex(const DtLgrPacketFilter* filter) const;
146 
148 
149  virtual DtLgrPacketFilter* filterByIndex(int index);
150  virtual const DtLgrPacketFilter* filterByIndex(int index) const;
152 
153  virtual void setHeartbeatIntervals(const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& intervals);
154  virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& heartbeatIntervals() const;
155 
156  virtual void setTimeoutIntervals(const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& intervals);
157  virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& timeoutIntervals() const;
158 
160  virtual void updateEntityTracker(const DtString& tracker);
161 
164  virtual void setAllowEntityTracking(bool trackingEnabled);
165 
167  virtual DtLgrEntityTracker* entityTracker();
168 
170  virtual const DtLgrEntityTracker* entityTracker() const;
171 
173  virtual const std::vector<DtString>& filterEntityList();
174 
175  virtual void addTemporaryTrackedEntity(const DtString& name);
176 
178  virtual void setEntityTracker(DtLgrEntityTracker* tracker);
179 
180  //Add list of entity IDs to the current filterEntityList
181  virtual void addToFilterEntityList( const std::vector<DtString>& nameList);
182 
183  virtual void setConfigurationFileName(const DtString& filename) = 0;
184 
186  virtual void initPlayback(DtLgrFileInput& input);
187 
189 
190  virtual bool playbackFilesUseRandomAccess() const;
191  virtual void setPlaybackFilesUseRandomAccess(bool val);
193 
194  protected:
197  std::vector<DtString> myFilterEntityList;
201  typedef std::list<DtLgrPacketFilter*> FilterList;
203  std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord> myHeartbeatIntervals;
204  std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord> myTimeoutIntervals;
206 
207  };
208 
209 }
210 
211 #endif

Document ID: Generated on Thu Apr 10 18:53:01 EDT 2014 from SVN revision 138105
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)