10 #ifndef lgrRecordDriver_H_
11 #define lgrRecordDriver_H_
16 #include <vlutil/vlRunnable.h>
22 class DtCheckpointPolicy;
25 class DtLgrFileOutput;
26 class DtLgrPlaybackDriver;
27 class DtLgrRecordCommandFactory;
28 class DtLgrRecordInterface;
29 class DtMessagePipeline;
30 class DtThreadedObject;
31 class DtLgrEditorThread;
49 virtual
bool releasePipeline();
50 virtual
bool getPipeline();
51 virtual
bool hasPipeline() const;
53 virtual
bool isFileOpen() const;
54 virtual
bool isFileEmpty() const;
56 virtual
bool isRecording() const;
57 virtual
bool isPaused() const;
60 virtual
bool pauseOnRecordAs() const;
63 int checkpointPolicyId() const;
66 int checkpointCount() const;
69 int checkpointSize() const;
76 virtual const DtString& filename() const;
85 virtual
bool recordToMultipleFiles() const;
88 virtual
double multipleFileDuration() const;
91 const DtString& multipleFileNamingConvention() const;
100 virtual
void stopAllThreads();
106 virtual
void addTemporaryTrackedEntity(const DtString& name);
117 void tickNormalRecording();
120 void tickRecordToMultipleFiles(
double multipleFileDuration);
162 virtual void configurePipeline();
164 virtual bool doNewFile(DtString filename, DtString description,
bool overwrite);
165 virtual bool doRecord(
bool multipleFiles);
166 virtual bool doStop();
167 virtual bool doPause();
168 virtual bool doUnpause();
171 DtString multipleFileName()
const;
210 typedef std::map<DtLgrEditorThread*,DtThread*>
ThreadMap;