MAK Data Logger API Documentation for DIS
lgrPlaybackInterface.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 lgrPlaybackInterface_H_
10 #define lgrPlaybackInterface_H_
11 
12 #include "lgrTimeInterface.h"
13 #include "virtualConstructor.h"
14 
15 #include <vlutil/vlString.h>
16 #include "signalSlot.h"
17 
18 namespace MAKLogger
19 {
20  class DtLogger;
21  class DtLgrPlaybackDriver;
22  class DtLgrPlaybackCommandFactory;
23 
28  {
29  public:
30 
31  //Used to shorten code.
33 
34  //Used to shorten code.
36 
38  static DtLgrPlaybackInterface* create(DtLogger&);
39 
42  static DtLgrPlaybackInterface* createNonThreadsafe(DtLogger& logger,
43  const DtLgrPlaybackDriver& driver);
44 
45  protected:
46 
49 
50  public:
51 
53  virtual ~DtLgrPlaybackInterface();
54 
55  private:
60  public:
61 
63  virtual void openFile(const DtString& filename) const;
64 
66  virtual void closeFile() const;
67 
69  virtual void saveFile() const;
70 
73  virtual void saveFileAs(const DtString& filename, const DtString& description,
74  const bool writeDescription) const;
75 
77  virtual void revertFile() const;
78 
82  virtual void updateTapeDescription(const DtString description);
83 
85  virtual void play() const;
86 
88  virtual void stop() const;
89 
91  virtual void pause() const;
92 
94  virtual void unpause() const;
95 
97  virtual void togglePlayPause() const;
98 
100  virtual void restart() const;
101 
103  virtual void jumpToTime(DtAbsoluteTime time) const;
104 
107  virtual void setPlaybackSpeed(double speedMultiplier, bool skipping) const;
108 
111  virtual void setSkippingPlaybackThreshold(double skippingThreshold) const;
112 
114  virtual void setStartStopTimes(DtAbsoluteTime startTime,
115  DtAbsoluteTime stopTime) const;
116 
118  virtual void setLoopAtEnd(bool enable) const;
119 
121  virtual void setPlayOnLoad(bool playOnLoad) const;
122 
124  virtual void setBackupOnSave(bool backup) const;
125 
127  virtual void recoverLastPacket();
128 
130 
132  virtual bool isFileLoaded() const;
133 
135  virtual bool isFileSaved() const;
136 
138  virtual bool isPlaying() const;
139 
141  virtual bool isStopped() const;
142 
144  virtual bool isPaused() const;
145 
147  virtual bool loopAtEnd() const;
148 
150  virtual bool playOnLoad() const;
151 
153  virtual const DtString& filename() const;
154 
156  virtual double playbackSpeed() const;
157 
159  virtual bool skippingPlayback() const;
160 
162  virtual double skippingPlaybackThreshold() const;
163 
165  virtual bool isFileFormatCurrent() const;
166 
168  virtual bool isFileIncomplete() const;
169 
171  virtual bool hasLastPacket() const;
172 
174  virtual bool lastPacketRecovered() const;
175 
178  virtual bool tapeDescriptionUpdated() const;
179 
181  virtual DtString tapeDescription() const;
182 
184  virtual int fileVersion() const;
185 
187 
194 
199 
200  protected:
201 
203 
204 
206  void fileOpened(DtResponse);
207 
209  void fileClosed(DtResponse);
210 
212  void fileChanged(DtResponse);
213 
215  void fileSaved(DtResponse);
216 
218  void playbackChanged(DtResponse);
219 
221  void playbackSpeedChanged(DtResponse);
222 
224  void skippingPlaybackChanged(DtResponse);
225 
227  void skippingPlaybackThresholdChanged(DtResponse);
228 
230  void fileInvalid(DtResponse);
231 
233  void fileDoesNotExist(DtResponse);
234 
236  void fileIncomplete(DtResponse);
237 
239  void loopAtEndChanged(DtResponse);
240 
242  void playOnLoadChanged(DtResponse);
243 
245  void fileFormatCurrent(DtResponse);
246 
248  void pausedChanged(DtResponse);
249 
251  void tapeDescriptionChanged(DtResponse);
252 
254 
256  void connectResponseHandlers();
257 
259  void connectResponse(DtLgrCommandId,
261 
262  protected:
263 
277  DtString myFilename;
282  };
283 
284 }
285 
286 #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)