MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrRecordInterface.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrRecordInterface_H_
11 #define lgrRecordInterface_H_
12 
13 #include "lgrTimeInterface.h"
14 #include <lgrUtil/absoluteTime.h>
15 #include "lgrCheckpointPolicy.h"
16 #include <vlutil/vlString.h>
17 
18 namespace MAKLogger
19 {
20 
21  class DtLogger;
22  class DtLgrRecordDriver;
23  class DtLgrRecordCommandFactory;
24 
29  {
30 
31  public:
32 
35  {
43  StopOnDurationOrSize
44  };
45 
47 
50  static DtLgrRecordInterface* create(DtLogger&);
51 
54  static DtLgrRecordInterface* createNonThreadsafe(DtLogger& logger,
55  const DtLgrRecordDriver& driver);
56 
57  protected:
58 
60  DtLgrRecordInterface(DtLogger& logger,const DtLgrRecordDriver& driver);
61 
62 
63  public:
64  virtual ~DtLgrRecordInterface();
65 
67 
68 
70  virtual void startNewFile(const DtString& filename, const DtString& description, bool overwrite) const;
71 
73  virtual void recordToMultipleFiles(const DtString& filename, const DtString& description) const;
74 
77  virtual void closeFile() const;
78 
80  virtual void setStopCondition(StopCondition,bool close) const;
81 
85  virtual void setStopDuration(DtRelativeTime duration) const;
86 
90  virtual void setStopSize(DtU64 filesize) const;
91 
93  virtual void setPauseOnRecordAs(bool record) const;
94 
96  virtual void record() const;
97 
99  virtual void pause() const;
100 
102  virtual void unpause() const;
103 
105  virtual void stop(bool closeAndOpenForPlayback) const;
106 
108  virtual void setCheckpointParameters(DtCheckpointPolicy::Policy policy,
109  int size,int count,DtAbsoluteTime time, bool checkpointInteractions) const;
110 
112  virtual void cancelRecording() const;
113 
116  virtual void saveRecordedData(const DtString& filename, const DtString& description,
117  bool onlySinceLastSaveData, double outputDuration) const;
118 
120  virtual void setRecordToMultipleFilesSettings(double duration,
121  const DtString& namingConvention) const;
122 
124  virtual void setMediaStreamConfiguration(const DtString& streamConfiguration) const;
125 
127  virtual void setMediaStreamPipeline(const DtString& pipelines);
128 
130  virtual void setIsRecordingMediaStream(bool doRecord);
131 
133  virtual void setMediaRecordStreamParameters(int port) const;
134 
136  virtual void setMediaRecordByDefault(bool enableRecord) const;
137 
139 
141 
142 
144  virtual bool isFileLoaded() const;
145 
147  virtual bool isFileEmpty() const;
148 
150  virtual const DtString& filename() const;
151 
153  virtual bool isRecording() const;
154 
156  virtual bool isPaused() const;
157 
159  virtual bool isStopped() const;
160 
162  virtual bool pauseOnRecordAs() const;
163 
165  int checkpointPolicyId() const;
166 
168  int checkpointCount() const;
169 
171  int checkpointSize() const;
172 
174  DtAbsoluteTime checkpointTime() const;
175 
177  bool interactionsCheckpointed() const;
178 
180  double multipleFileDuration() const;
181 
183  const DtString& multipleFileNamingConvention() const;
184 
186  virtual const DtString& mediaStreamConfiguration() const;
187 
189  bool isRecordingMediaStream() const;
190 
192  int mediaRecordPort() const;
193 
195  bool mediaRecordByDefault() const;
197 
199 
200  void newFileOpened(DtResponse);
201  void newFileFailed(DtResponse);
202  void newFileClosed(DtResponse);
203  void recordingChanged(DtResponse);
204  void recordingPausedChanged(DtResponse);
205  void pauseOnRecordAsChanged(DtResponse);
206  void checkpointParametersChanged(DtResponse);
207  void fileEmptyChanged(DtResponse);
208  void recordToMultipleFilesChanged(DtResponse);
209  void mediaRecordFromStreamConfigurationChanged(DtResponse response);
210  void mediaRecordStreamParametersChanged(DtResponse response);
211  void mediaRecordByDefaultChanged(DtResponse response);
212  void recordingMediaStreamChanged(DtResponse response);
213 
215 
217 
228 
229  protected:
230 
231  void connectResponseHandler(DtLgrCommandId id,
232  void (DtLgrRecordInterface::* function)(DtResponse));
233 
234  DtString myNewFileName;
235  DtString myErrorMessage;
252 
253  };
254 
255 }
256 
257 #endif

Document ID: Generated on Thu Jul 23 15:05:27 EDT 2020 from SVN revision 215371
Copyright © 2020 MAK Technologies. All Rights Reserved (www.mak.com)