MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
remoteControlPlaybackInterface.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 
11 #pragma once
12 
15 #include <lgrUtil/absoluteTime.h>
16 
17 #include <vlutil/vlString.h>
18 #include <map>
19 
20 class DtEntityIdentifier;
21 class DtLgrResponsePdu;
22 class DtFilename;
23 class DtOutputStream;
24 
25 namespace MAKLogger
26 {
30  {
31  public:
32 
34 
35 
37 
38  private:
43 
44  public:
45 
47 
48  virtual const DtFilename& fileName() const;
49  virtual void resetFileName(const DtFilename& name);
51 
53 
54  virtual const DtAbsoluteTime& firstTime() const;
55  virtual void resetFirstTime(const DtAbsoluteTime& time);
57 
59 
60  virtual const DtAbsoluteTime& lastTime() const;
61  virtual void resetLastTime(const DtAbsoluteTime& time);
63 
65 
66  virtual const DtAbsoluteTime& startTime() const;
67  virtual void resetStartTime(const DtAbsoluteTime& time);
69 
71 
72  virtual const DtAbsoluteTime& stopTime() const;
73  virtual void resetStopTime(const DtAbsoluteTime& time);
75 
77 
78  virtual double playbackSpeed() const;
79  virtual void resetPlaybackSpeed(double speed);
81 
83 
84  virtual bool isFileOpened() const;
85  virtual void resetIsFileOpened(bool isOpened);
87 
89 
90  virtual bool isFileChanged() const;
91  virtual void resetIsFileChanged(bool isChanged);
93 
95 
96  virtual bool isPlaying() const;
97  virtual void resetIsPlaying(bool playing);
99 
101 
102  virtual bool isPaused() const;
103  virtual void resetIsPaused(bool paused);
105 
107 
108  virtual bool isLoopAtEnd() const;
109  virtual void resetIsLoopAtEnd(bool loopAtEnd);
111 
113 
114  virtual bool isPlayOnLoad() const;
115  virtual void resetIsPlayOnLoad(bool playOnLoad);
117 
119 
120  virtual bool isPlaySkipping() const;
121  virtual void resetIsPlaySkipping(bool skipping);
123 
125 
126 
128  virtual DtSequenceNumber openFile(const DtFilename& filename, bool constructFilePathAndName,
129  bool checkMediafile, const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
130 
133  virtual DtSequenceNumber closeFile(
134  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
135 
138  virtual DtSequenceNumber play(
139  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
140 
143  virtual DtSequenceNumber pause(
144  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
145 
148  virtual DtSequenceNumber unPause(
149  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
150 
153  virtual DtSequenceNumber stop(
154  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
155 
157  virtual DtSequenceNumber setPlaybackSpeed(double speed, bool skipping,
158  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
159 
162  virtual DtSequenceNumber jumpToStart(
163  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
164 
167  virtual DtSequenceNumber jumpToStop(
168  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
169 
172  virtual DtSequenceNumber jumpToTime(const DtAbsoluteTime& time,
173  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
174 
177  virtual DtSequenceNumber skipTimeForward(const DtRelativeTime& time,
178  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
179 
182  virtual DtSequenceNumber skipTimeBackward(const DtRelativeTime& time,
183  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
184 
187  virtual DtSequenceNumber setStartStopTimes(const DtAbsoluteTime& startTime,
188  const DtAbsoluteTime& stopTime,
189  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
190 
192  virtual DtSequenceNumber setLoopAtEnd(bool enable,
193  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
194 
197  virtual DtSequenceNumber setPlayOnLoad(bool enable,
198  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
199 
202  virtual DtSequenceNumber requestFileList(bool listDirs,
203  const DtEntityIdentifier& destination=DtRemoteControlInterface::wildcardAddress());
204 
206 
208  virtual void processResponse(const DtLgrResponsePdu& responsePdu);
209 
211  virtual void clearReceivedResponseCounts();
212 
213  public:
214 
216  static const char* commandToString(int command);
217 
218  protected:
219 
221 
222 
224  virtual void fileOpened(const DtEntityIdentifier& source, const DtString& fileName,
225  const DtAbsoluteTime& firstTime, const DtAbsoluteTime& lastTime);
226 
229  virtual void fileOpened(const DtString& fileName,
230  const DtAbsoluteTime& firstTime, const DtAbsoluteTime& lastTime);
231 
233  virtual void fileClosed(const DtEntityIdentifier& source);
234 
237  virtual void fileClosed();
238 
242  virtual void fileDoesNotExist(const DtEntityIdentifier& source, const DtString& filename);
243 
247  virtual void fileIncomplete(const DtEntityIdentifier& source, const DtString& filename,
248  bool isIncomplete, bool hasLastPacket, bool lastPacketRecovered);
249 
253  virtual void fileInvalid(const DtEntityIdentifier& source, const DtString& filename, const DtString& reason);
254 
256  virtual void fileChanged(const DtEntityIdentifier& source);
257 
260  virtual void fileChanged();
261 
263  virtual void fileSaved(const DtEntityIdentifier& source);
264 
267  virtual void fileSaved();
268 
270  virtual void fileFormatCurrent(const DtEntityIdentifier& source, bool current);
271 
274  virtual void fileFormatCurrent(bool current);
275 
277  virtual void playbackChanged(const DtEntityIdentifier& source, bool currentlyPlaying);
278 
281  virtual void playbackChanged(bool currentlyPlaying);
282 
284  virtual void restarted(const DtEntityIdentifier& source);
285 
288  virtual void restarted();
289 
291  virtual void jumpTimeChanged(const DtEntityIdentifier& source, const DtAbsoluteTime& jumpTime);
292 
294  virtual void jumpTimeChanged(const DtAbsoluteTime& jumpTime);
295 
297  virtual void loopAtEndChanged(const DtEntityIdentifier& source, bool enabled);
298 
301  virtual void loopAtEndChanged(bool enabled);
302 
304  virtual void playOnLoadChanged(const DtEntityIdentifier& source, bool enabled);
305 
308  virtual void playOnLoadChanged(bool enabled);
309 
311  virtual void skippingPlaybackChanged(bool enabled);
312 
315  virtual void skippingPlaybackChanged(const DtEntityIdentifier& source, bool enabled );
316 
318  virtual void playbackSpeedChanged(const DtEntityIdentifier& source, double speed);
319 
322  virtual void playbackSpeedChanged(double speed);
323 
325  virtual void pausedChanged(const DtEntityIdentifier& source, bool paused);
326 
329  virtual void pausedChanged(bool paused);
330 
332  virtual void startStopTimesChanged(const DtEntityIdentifier& source, const DtAbsoluteTime& startTime,
333  const DtAbsoluteTime& stopTime );
334 
337  virtual void startStopTimesChanged(const DtAbsoluteTime& startTime,
338  const DtAbsoluteTime& stopTime );
339 
341  virtual void firstLastTimesChanged(const DtEntityIdentifier& source, const DtAbsoluteTime& firstTime,
342  const DtAbsoluteTime& lastTime );
343 
346  virtual void firstLastTimesChanged(const DtAbsoluteTime& firstTime,
347  const DtAbsoluteTime& lastTime );
348 
350  virtual void fileList(const DtEntityIdentifier& source,
351  bool listIsDirs, const std::vector<DtString>& loggerFiles);
352 
355  virtual void fileList(DtOutputStream& outputStream, bool listIsDirs, const std::vector<DtString>& loggerFiles);
356 
357 
359 
362  virtual void setFirstTime(const DtAbsoluteTime& time, bool initialValue=false);
363 
366  virtual void setLastTime(const DtAbsoluteTime& time, bool initialValue=false);
367 
370  virtual void setStartTime(const DtAbsoluteTime& time, bool initialValue=false);
371 
374  virtual void setStopTime(const DtAbsoluteTime& time, bool initialValue=false);
375 
376  protected:
377 
378  DtFilename myFileName;
385  std::vector<DtString> myFileList;
399  double mySpeed;
403 
422 
423  };
424 }
DtAbsoluteTime myStartTime
Definition: remoteControlPlaybackInterface.h:381
int myReceivedJumpTimeChanged
Definition: remoteControlPlaybackInterface.h:421
bool myIsFileOpened
Definition: remoteControlPlaybackInterface.h:387
DtAbsoluteTime myPendingJumpTime
Definition: remoteControlPlaybackInterface.h:384
int myReceivedFileFormatCurrent
Definition: remoteControlPlaybackInterface.h:411
#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME...
Definition: virtualConstructor.h:34
bool myFileListIsDirs
Definition: remoteControlPlaybackInterface.h:386
int myReceivedFileDoesNotExist
Definition: remoteControlPlaybackInterface.h:406
int myReceivedFileOpened
Definition: remoteControlPlaybackInterface.h:404
bool myIsFileChanged
Definition: remoteControlPlaybackInterface.h:388
Relative Time, an elapsed duration of time, no implied measurement, could be seconds/cycles or ticks ...
Definition: absoluteTime.h:28
int myReceivedFileInvalid
Definition: remoteControlPlaybackInterface.h:408
#define DT_DLL_LGR_RCI
Definition: lgrRemoteControlInterface.h:18
bool myPendingLoopAtEnd
Definition: remoteControlPlaybackInterface.h:394
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
bool myPlayOnLoad
Definition: remoteControlPlaybackInterface.h:395
Primary interface to remote loggers.
Definition: remoteControlInterface.h:73
int myReceivedFileChanged
Definition: remoteControlPlaybackInterface.h:409
DtAbsoluteTime myJumpTime
Definition: remoteControlPlaybackInterface.h:383
Contains MAKLogger::DtRemoteControlDomainInterface for handling playback remote control messages...
bool myPlaybackSkipping
Definition: remoteControlPlaybackInterface.h:397
DtU32 DtSequenceNumber
Definition: remoteControlInterface.h:48
Base class for handling commands and responses.
Definition: remoteControlDomainInterface.h:27
int myReceivedFirstLastTimesChanged
Definition: remoteControlPlaybackInterface.h:420
double myPendingSpeed
Definition: remoteControlPlaybackInterface.h:400
int myReceivedStartStopTimesChanged
Definition: remoteControlPlaybackInterface.h:419
int myReceivedFileIncomplete
Definition: remoteControlPlaybackInterface.h:407
DtAbsoluteTime myFirstTime
Definition: remoteControlPlaybackInterface.h:379
bool myFileFormatCurrent
Definition: remoteControlPlaybackInterface.h:391
int myReceivedPlayOnLoadChanged
Definition: remoteControlPlaybackInterface.h:415
bool myPendingFileFormatCurrent
Definition: remoteControlPlaybackInterface.h:392
bool myPendingIsPlaying
Definition: remoteControlPlaybackInterface.h:390
static const DtEntityIdentifier & wildcardAddress()
The wildcard address.
Contains MAKLogger::DtAbsoluteTime and MAKLogger::DtRelativeTime classes.
bool myPendingPlayOnLoad
Definition: remoteControlPlaybackInterface.h:396
int myReceivedFileClosed
Definition: remoteControlPlaybackInterface.h:405
DtAbsoluteTime myStopTime
Definition: remoteControlPlaybackInterface.h:382
int myReceivedLoopAtEndChanged
Definition: remoteControlPlaybackInterface.h:414
bool myPendingPlaybackSkipping
Definition: remoteControlPlaybackInterface.h:398
int myReceivedFileSaved
Definition: remoteControlPlaybackInterface.h:410
Instances of DtLgrResponsePdu are to respond to a remote controller with the result of a logger comma...
Definition: lcResponse.h:19
bool myIsPaused
Definition: remoteControlPlaybackInterface.h:401
int myReceivedSkippingPlaybackChanged
Definition: remoteControlPlaybackInterface.h:416
int myReceivedPlaybackChanged
Definition: remoteControlPlaybackInterface.h:412
std::vector< DtString > myFileList
Definition: remoteControlPlaybackInterface.h:385
Responsible for invoking playback commands and processing playback responses.
Definition: remoteControlPlaybackInterface.h:29
int myReceivedPausedChanged
Definition: remoteControlPlaybackInterface.h:418
bool myPendingIsPaused
Definition: remoteControlPlaybackInterface.h:402
int myReceivedPlaybackSpeedChanged
Definition: remoteControlPlaybackInterface.h:417
bool myLoopAtEnd
Definition: remoteControlPlaybackInterface.h:393
DtFilename myFileName
Definition: remoteControlPlaybackInterface.h:378
bool myIsPlaying
Definition: remoteControlPlaybackInterface.h:389
double mySpeed
Definition: remoteControlPlaybackInterface.h:399
Absolute Time, a particular measured instance in time, could be thought of as a set of relative times...
Definition: absoluteTime.h:82
DtAbsoluteTime myLastTime
Definition: remoteControlPlaybackInterface.h:380
int myReceivedRestarted
Definition: remoteControlPlaybackInterface.h:413

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)