9 #ifndef lgrLegacyCheckpointedFormat_H_
10 #define lgrLegacyCheckpointedFormat_H_
13 #include <vlutil/vlNetTypes.h>
18 class DtLgrPacketIndexer;
58 virtual bool seekToFirstPacket(
int type);
64 virtual bool seekToLastPacket(
int type);
69 virtual bool seekToFirstPacketBeforeTime(
int type,
double time);
75 virtual bool seekToFirstPacketAfterTime(
int type,
double time);
83 virtual bool seekToNextPacket(
int type);
89 virtual bool seekToPreviousPacketOfType(
int type);
93 virtual void writePacket(
const DtPacket& packet);
101 virtual size_t writePacket(
const DtPacket& packet,
void* memory,
size_t memorySize,
102 int fileWriteBufferOffset = -1);
105 virtual bool hasCheckpoints()
const;
108 virtual bool isEofValid()
const;
111 virtual double duration()
const;
114 virtual void setDuration(
double duration);
120 virtual void initReadEndMetaData();
123 virtual void readRecordingInfoMetaData();
126 virtual void decodeRecordingInfoPacket(
const DtPacket& packet);
129 virtual void writeRecordingData();
132 virtual void readIndexTableMetaData();
135 virtual void writeIndexTable();
138 virtual bool checkEofMagic();
141 virtual void writeEofMagic();
144 virtual bool jumpToIndex(
int index);
150 virtual void decodePacket(
DtPacket* packet);
153 virtual void indexCheckpoint(
double time,
DtFilePosition position,
int size);
156 virtual void linkCheckpoint(
const DtPacket& packet);
159 virtual void linkCheckpoint(
const DtPacket& packet,
void* memory,
int fileWriteBufferOffset);
162 virtual bool refreshCheckpoints(
double time);
166 virtual bool readCheckpointsToTime(
double time);