10 #ifndef lgrRecordDriver_H_
11 #define lgrRecordDriver_H_
16 #include <vlutil/vlRunnable.h>
22 class DtCheckpointPolicy;
24 class DtLgrContinuousClock;
26 class DtLgrFileOutput;
27 class DtLgrPlaybackDriver;
28 class DtLgrRecordCommandFactory;
29 class DtLgrRecordInterface;
30 class DtMessagePipeline;
31 class DtThreadedObject;
32 class DtLgrEditorThread;
50 virtual
bool releasePipeline();
51 virtual
bool getPipeline();
52 virtual
bool hasPipeline() const;
54 virtual
bool isFileOpen() const;
55 virtual
bool isFileEmpty() const;
57 virtual
bool isRecording() const;
58 virtual
bool isPaused() const;
61 virtual
bool pauseOnRecordAs() const;
64 virtual
int checkpointPolicyId() const;
67 virtual
int checkpointCount() const;
70 virtual
int checkpointSize() const;
76 bool interactionsCheckpointed() const;
80 virtual const DtString& filename() const;
89 virtual
bool recordToMultipleFiles() const;
92 virtual
double multipleFileDuration() const;
95 virtual const DtString& multipleFileNamingConvention() const;
104 virtual
void stopAllThreads();
110 virtual
void addTemporaryTrackedEntity(const DtString& name);
121 virtual
void tickNormalRecording();
126 virtual
void tickRecordToMultipleFiles(
double multipleFileDuration,
bool final = false);
128 virtual
void configurePipeline();
131 virtual
void activateIdleListening();
133 virtual
bool doNewFile(DtString filename, DtString description,
bool overwrite);
134 virtual
bool doRecord(
bool multipleFiles);
135 virtual
bool doStop();
136 virtual
bool doPause();
137 virtual
bool doUnpause();
140 virtual DtString multipleFileName() const;
146 virtual DtString multiFileDescription(
bool final);
175 int packetOperationCount,
double fixedDuration,
DtRelativeTime offset);
232 typedef std::map<DtLgrEditorThread*,DtThread*>
ThreadMap;