9 #ifndef lgrPlaybackDriver_H_
10 #define lgrPlaybackDriver_H_
16 #include <vlutil/vlString.h>
22 class DtMessagePipeline;
23 class DtLgrSystemDriver;
24 class DtLgrPlaybackCommandFactory;
25 class DtLgrPlaybackInterface;
26 class DtLgrEntityTracker;
44 virtual
bool getPipeline();
45 virtual
bool hasPipeline() const;
46 virtual
bool releasePipeline();
50 virtual
void setUnsavedFile(const DtString& filename,
bool selectAll);
53 virtual
void openVirtualFile(const DtString& actualFileName, const DtString& desiredName);
56 virtual
void configurePipeline();
59 virtual
bool isFileSaved() const;
62 virtual
bool isFileOpen() const;
65 virtual
bool isPlaying() const;
68 virtual
bool isStopped() const;
71 virtual
bool isPaused() const;
74 virtual
bool isFileIncomplete() const;
77 virtual
double playbackSpeed() const;
80 virtual
bool skippingPlayback() const;
83 virtual
double skippingPlaybackThreshold() const;
86 virtual
bool skippingPlaybackInteractions() const;
104 virtual const DtString& currentFilename() const;
108 virtual const DtString& savedFilename() const;
111 virtual
bool loopAtEnd() const;
114 virtual
bool playOnLoad() const;
117 virtual
bool fileFormatCurrent() const;
120 virtual
int fileVersion() const;
123 virtual
bool backupOnSave() const;
129 virtual
void addTemporaryTrackedEntity(const DtString& name);
132 virtual
double packetViewInterval() const;
135 virtual
double followingInterval() const;
138 virtual
double followingExportInterval() const;
144 bool prepareDriverForOpen();
148 virtual
void tickStopPlayback();
149 virtual
void tickNormalPlayback();
150 virtual
void tickPausePlayback();
151 virtual
void tickSkippingPlayback();
152 virtual
void tickExtendedStopPlayback();
156 virtual
bool doSwapInFile(const DtString& filename,
bool selectAll);
158 virtual
bool doPlay();
159 virtual
bool doStop();
160 virtual
bool doPause();
161 virtual
bool doUnpause();
162 virtual
bool doPlaybackSpeedChange(
double speed);
165 virtual
bool doRecoverLastPacket();
172 virtual
bool doOpenFile( DtString filename );
175 void sendFileInputChangedResponses(const DtString& filename);
254 virtual
bool writeDescriptionToFile(const DtString& filename,
255 const DtString& description, const
bool writeDesc);
258 virtual
bool openFileInput(const DtString& filename, DtString& failureReason);
261 virtual
void closeFileInput(
bool clearHistory);
264 virtual
void setFileHistoryCount(
int count);
267 virtual
void addFileToHistory(const DtString& filename);
270 virtual
void clearFileHistory();
276 std::deque<DtString> myFileStack;
278 DtString mySavedFileName;
288 bool myPlayOnLoadFlag;
289 int mySendPlayCommandAfterTick;
297 bool mySkippingPlayback;
298 double mySkippingPlaybackThreshold;
299 bool mySkippingPlaybackInteractions;
301 bool myTimeHasExtended;
302 DtTime myExtendedStopTimeout;
303 double myPacketViewInterval;
304 double myFollowingInterval;
305 double myFollowingExportInterval;
308 DtString myDescription;
309 bool myUpdateDescription;
312 unsigned int myFileHistoryCount;
313 static const
int theDefaultFileHistoryCount = 1;