Go to the documentation of this file.00001
00002
00003
00004
00005
00009
00010
00011 #pragma once
00012
00013 #include "remoteControlDomainInterface.h"
00014 #include "virtualConstructor.h"
00015 #include "absoluteTime.h"
00016
00017 #include <vlutil/vlString.h>
00018
00019 class DtEntityIdentifier;
00020 class DtLgrResponsePdu;
00021 class DtFilename;
00022
00023 namespace MAKLogger
00024 {
00025
00028 class DT_DLL_LGRSIM DtRemoteControlPlaybackInterface : public DtRemoteControlDomainInterface
00029 {
00030 public:
00031
00032 DT_VIRTUAL_CTR(DtRemoteControlPlaybackInterface,(DtRemoteControlInterface*))
00033
00034
00035 virtual ~DtRemoteControlPlaybackInterface();
00036
00037 private:
00039 DtRemoteControlPlaybackInterface(const DtRemoteControlPlaybackInterface&);
00041 DtRemoteControlPlaybackInterface& operator=(const DtRemoteControlPlaybackInterface&);
00042
00043 public:
00044
00046
00047 virtual const DtFilename& fileName() const;
00048 virtual void resetFileName(const DtFilename& name);
00050
00052
00053 virtual const DtAbsoluteTime& firstTime() const;
00054 virtual void resetFirstTime(const DtAbsoluteTime& time);
00056
00058
00059 virtual const DtAbsoluteTime& lastTime() const;
00060 virtual void resetLastTime(const DtAbsoluteTime& time);
00062
00064
00065 virtual const DtAbsoluteTime& startTime() const;
00066 virtual void resetStartTime(const DtAbsoluteTime& time);
00068
00070
00071 virtual const DtAbsoluteTime& stopTime() const;
00072 virtual void resetStopTime(const DtAbsoluteTime& time);
00074
00076
00077 virtual double playbackSpeed() const;
00078 virtual void resetPlaybackSpeed(double speed);
00080
00082
00083 virtual bool isFileOpened() const;
00084 virtual void resetIsFileOpened(bool isOpened);
00086
00088
00089 virtual bool isPlaying() const;
00090 virtual void resetIsPlaying(bool playing);
00092
00094
00095 virtual bool isPaused() const;
00096 virtual void resetIsPaused(bool paused);
00098
00100
00101 virtual bool isLoopAtEnd() const;
00102 virtual void resetIsLoopAtEnd(bool loopAtEnd);
00104
00106
00107 virtual bool isPlayOnLoad() const;
00108 virtual void resetIsPlayOnLoad(bool playOnLoad);
00110
00112
00113 virtual bool isPlaySkipping() const;
00114 virtual void resetIsPlaySkipping(bool skipping);
00116
00118
00119
00121 virtual DtSequenceNumber openFile(const DtFilename& filename, bool constructFilePathAndName,
00122 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00123
00126 virtual DtSequenceNumber closeFile(
00127 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00128
00131 virtual DtSequenceNumber play(
00132 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00133
00136 virtual DtSequenceNumber pause(
00137 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00138
00141 virtual DtSequenceNumber unPause(
00142 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00143
00146 virtual DtSequenceNumber stop(
00147 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00148
00150 virtual DtSequenceNumber setPlaybackSpeed(double speed, bool skipping,
00151 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00152
00155 virtual DtSequenceNumber jumpToStart(
00156 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00157
00160 virtual DtSequenceNumber jumpToStop(
00161 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00162
00165 virtual DtSequenceNumber jumpToTime(const DtAbsoluteTime& time,
00166 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00167
00170 virtual DtSequenceNumber skipTimeForward(const DtRelativeTime& time,
00171 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00172
00175 virtual DtSequenceNumber skipTimeBackward(const DtRelativeTime& time,
00176 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00177
00180 virtual DtSequenceNumber setStartStopTimes(const DtAbsoluteTime& startTime,
00181 const DtAbsoluteTime& stopTime,
00182 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00183
00185 virtual DtSequenceNumber setLoopAtEnd(bool enable,
00186 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00187
00190 virtual DtSequenceNumber setPlayOnLoad(bool enable,
00191 const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
00192
00194
00196 virtual void processResponse(const DtLgrResponsePdu& responsePdu);
00197
00199 virtual void clearReceivedResponseCounts();
00200
00201 public:
00202
00204 static const char* commandToString(int command);
00205
00206 protected:
00207
00209
00210
00212 virtual void fileOpened(const DtEntityIdentifier& source, const DtString& fileName,
00213 const DtAbsoluteTime& firstTime, const DtAbsoluteTime& lastTime);
00214
00217 virtual void fileOpened(const DtString& fileName,
00218 const DtAbsoluteTime& firstTime, const DtAbsoluteTime& lastTime);
00219
00221 virtual void fileClosed(const DtEntityIdentifier& source);
00222
00225 virtual void fileClosed();
00226
00230 virtual void fileDoesNotExist(const DtEntityIdentifier& source, const DtString& filename);
00231
00235 virtual void fileIncomplete(const DtEntityIdentifier& source, const DtString& filename, bool isIncomplete);
00236
00240 virtual void fileInvalid(const DtEntityIdentifier& source, const DtString& filename, const DtString& reason);
00241
00243 virtual void fileChanged(const DtEntityIdentifier& source);
00244
00247 virtual void fileChanged();
00248
00250 virtual void fileSaved(const DtEntityIdentifier& source);
00251
00254 virtual void fileSaved();
00255
00257 virtual void fileFormatCurrent(const DtEntityIdentifier& source, bool current);
00258
00261 virtual void fileFormatCurrent(bool current);
00262
00264 virtual void playbackChanged(const DtEntityIdentifier& source, bool currentlyPlaying);
00265
00268 virtual void playbackChanged(bool currentlyPlaying);
00269
00271 virtual void restarted(const DtEntityIdentifier& source);
00272
00275 virtual void restarted();
00276
00278 virtual void jumpTimeChanged(const DtEntityIdentifier& source, const DtAbsoluteTime& jumpTime);
00279
00281 virtual void jumpTimeChanged(const DtAbsoluteTime& jumpTime);
00282
00284 virtual void loopAtEndChanged(const DtEntityIdentifier& source, bool enabled);
00285
00288 virtual void loopAtEndChanged(bool enabled);
00289
00291 virtual void playOnLoadChanged(const DtEntityIdentifier& source, bool enabled);
00292
00295 virtual void playOnLoadChanged(bool enabled);
00296
00298 virtual void skippingPlaybackChanged(bool enabled);
00299
00302 virtual void skippingPlaybackChanged(const DtEntityIdentifier& source, bool enabled );
00303
00305 virtual void playbackSpeedChanged(const DtEntityIdentifier& source, double speed);
00306
00309 virtual void playbackSpeedChanged(double speed);
00310
00312 virtual void pausedChanged(const DtEntityIdentifier& source, bool paused);
00313
00316 virtual void pausedChanged(bool paused);
00317
00319 virtual void startStopTimesChanged(const DtEntityIdentifier& source, const DtAbsoluteTime& startTime,
00320 const DtAbsoluteTime& stopTime );
00321
00324 virtual void startStopTimesChanged(const DtAbsoluteTime& startTime,
00325 const DtAbsoluteTime& stopTime );
00326
00328 virtual void firstLastTimesChanged(const DtEntityIdentifier& source, const DtAbsoluteTime& firstTime,
00329 const DtAbsoluteTime& lastTime );
00330
00333 virtual void firstLastTimesChanged(const DtAbsoluteTime& firstTime,
00334 const DtAbsoluteTime& lastTime );
00335
00337
00340 virtual void setFirstTime(const DtAbsoluteTime& time, bool initialValue=false);
00341
00344 virtual void setLastTime(const DtAbsoluteTime& time, bool initialValue=false);
00345
00348 virtual void setStartTime(const DtAbsoluteTime& time, bool initialValue=false);
00349
00352 virtual void setStopTime(const DtAbsoluteTime& time, bool initialValue=false);
00353 protected:
00354
00355 DtFilename myFileName;
00356 DtAbsoluteTime myFirstTime;
00357 DtAbsoluteTime myLastTime;
00358 DtAbsoluteTime myStartTime;
00359 DtAbsoluteTime myStopTime;
00360 DtAbsoluteTime myJumpTime;
00361 DtAbsoluteTime myPendingJumpTime;
00362 bool myIsFileOpened;
00363 bool myIsPlaying;
00364 bool myPendingIsPlaying;
00365 bool myFileFormatCurrent;
00366 bool myPendingFileFormatCurrent;
00367 bool myLoopAtEnd;
00368 bool myPendingLoopAtEnd;
00369 bool myPlayOnLoad;
00370 bool myPendingPlayOnLoad;
00371 bool myPlaybackSkipping;
00372 bool myPendingPlaybackSkipping;
00373 double mySpeed;
00374 double myPendingSpeed;
00375 bool myIsPaused;
00376 bool myPendingIsPaused;
00377
00378 int myReceivedFileOpened;
00379 int myReceivedFileClosed;
00380 int myReceivedFileDoesNotExist;
00381 int myReceivedFileIncomplete;
00382 int myReceivedFileInvalid;
00383 int myReceivedFileChanged;
00384 int myReceivedFileSaved;
00385 int myReceivedFileFormatCurrent;
00386 int myReceivedPlaybackChanged;
00387 int myReceivedRestarted;
00388 int myReceivedLoopAtEndChanged;
00389 int myReceivedPlayOnLoadChanged;
00390 int myReceivedSkippingPlaybackChanged;
00391 int myReceivedPlaybackSpeedChanged;
00392 int myReceivedPausedChanged;
00393 int myReceivedStartStopTimesChanged;
00394 int myReceivedFirstLastTimesChanged;
00395 int myReceivedJumpTimeChanged;
00396
00397 };
00398 }