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) const = 0;
72 
74  virtual DtLgrFileInput* openPartialFileForCopying(
75  const DtLgrFileOutput* output, DtFilePosition firstPacket,
76  DtFilePosition lastPacket) const = 0;
77 
79  virtual DtMessageState* createState() const = 0;
80 
82  virtual const DtLgrSimInput* input() const = 0;
84  virtual DtLgrSimInput* input() = 0;
85 
87  virtual const DtLgrSimOutput* output() const = 0;
89  virtual DtLgrSimOutput* output() = 0;
90 
92  virtual const DtMessageState* state() const = 0;
94  virtual DtMessageState* state() = 0;
95 
97  virtual const DtTimeProvider* timeProvider() const = 0;
98 
100  virtual bool activity() const = 0;
101 
104  virtual DtAbsoluteTime simTime() const = 0;
105 
109  virtual int remoteControlId() const;
110 
112  virtual void setRemoteControlId(int id);
113 
115  virtual void activateFilters(const DtMessageIOInfo* info);
116 
118  virtual void deactivateFilters();
119 
121  virtual bool filter(DtPacket* packet);
122 
125  virtual int addFilter(DtLgrPacketFilter* filter);
126 
130  virtual int removeFilter(const DtLgrPacketFilter* filter);
131 
133  virtual int filterCount() const;
134 
137  virtual int filterIndex(const DtLgrPacketFilter* filter) const;
138 
140 
141  virtual DtLgrPacketFilter* filterByIndex(int index);
142  virtual const DtLgrPacketFilter* filterByIndex(int index) const;
144 
145  virtual void setHeartbeatIntervals(const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& intervals);
146  virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& heartbeatIntervals() const;
147 
148  virtual void setTimeoutIntervals(const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& intervals);
149  virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& timeoutIntervals() const;
150 
152  virtual void updateEntityTracker(const DtString& tracker);
153 
156  virtual void setAllowEntityTracking(bool trackingEnabled);
157 
159  virtual DtLgrEntityTracker* entityTracker();
160 
161  virtual void addTemporaryTrackedEntity(const DtString& name);
162 
164  virtual void setEntityTracker(DtLgrEntityTracker* tracker);
165 
166  virtual void setConfigurationFileName(const DtString& filename) = 0;
167 
169  virtual void initPlayback(DtLgrFileInput& input);
170 
171  protected:
176  typedef std::list<DtLgrPacketFilter*> FilterList;
178  std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord> myHeartbeatIntervals;
179  std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord> myTimeoutIntervals;
180 
181  };
182 
183 }
184 
185 #endif

Document ID: Generated on Thu Apr 11 12:13:00 EDT 2013 from SVN revision 126011
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)