lgrFileFormatter.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00008 
00009 #ifndef lgrFileFormatter_H_
00010 #define lgrFileFormatter_H_
00011 
00012 #include "lgrCore.h"
00013 #include "virtualConstructor.h"
00014 #include "loggerFileMetaData.h"
00015 #include "filePosition.h"
00016 #include <vector>
00017 
00018 namespace MAKLogger
00019 {
00020 
00021    class DtLoggerFile;
00022    class DtSmartBuffer;
00023    class DtMessageBuffer;
00024    class DtLgrEntityTracker;
00025 
00033    class DT_DLL_LGRCORE DtLgrFileFormatter
00034    {
00035    protected:
00036 
00042       DtLgrFileFormatter(DtLoggerFile*);
00043 
00044    public:
00045 
00047       virtual ~DtLgrFileFormatter();
00048 
00049    private:
00051       DtLgrFileFormatter(const DtLgrFileFormatter&);
00053       DtLgrFileFormatter& operator=(const DtLgrFileFormatter&);
00054 
00055    public:
00056 
00058 
00059       virtual DtLoggerFile* loggerFile();
00060       virtual const DtLoggerFile* loggerFile() const;
00062 
00066       virtual void setSerialMode(bool enable);
00067 
00069       virtual bool serialMode() const;
00070 
00072 
00073       DtLoggerFileMetaData* metaData();
00074       const DtLoggerFileMetaData* metaData() const;
00076 
00078       virtual void copyMetaData(const DtLgrFileFormatter* formatter);
00079 
00081       virtual DtLgrEntityTracker* entityTracker() const;
00082 
00085       virtual void setTimeLimit(double limit);
00086 
00088 
00089 
00098       virtual void initializeSerialMode(DtFilePosition firstPacket = 0,
00099          DtFilePosition lastPacket = 0) = 0;
00100 
00102       virtual bool isEofValid() const = 0;
00103 
00112       virtual bool atEndOfFile() = 0;
00113 
00118       virtual bool seekToFirstPacket() = 0;
00119 
00124       virtual bool seekToFirstPacket(int type) = 0;
00125 
00130       virtual bool seekToLastPacket() = 0;
00131 
00136       virtual bool seekToLastPacket(int type) = 0;
00137 
00142       virtual bool seekToFirstPacketBeforeTime(double time) = 0;
00143 
00147       virtual bool seekToFirstPacketBeforeTime(int type,double time) = 0;
00148 
00153       virtual bool seekToFirstPacketAfterTime(double time) = 0;
00154 
00159       virtual bool seekToFirstPacketAfterTime(int type,double time) = 0;
00160 
00164       virtual bool seekToNextPacket() = 0;
00165 
00170       virtual bool seekToNextPacket(int type) = 0;
00171 
00175       virtual bool seekToPreviousPacket() = 0;
00176 
00181       virtual bool seekToPreviousPacket(int type) = 0;
00182 
00185       virtual void seekToPosition(DtFilePosition) = 0;
00186 
00189       virtual double currentPacketTime() = 0;
00190 
00193       virtual int currentPacketType() = 0;
00194 
00197       virtual size_t currentPacketSize() = 0;
00198 
00200       virtual DtFilePosition currentPosition() = 0;
00201 
00203       virtual bool hasCheckpoints() const = 0;
00204 
00209       virtual void readMetaData() = 0;
00210 
00212       virtual void readMetaData(DtLoggerFileMetaData::DataPosition position) = 0;
00213 
00215       virtual void writeMetaData(DtLoggerFileMetaData::DataPosition position) = 0;
00216 
00220       virtual void readPacketsUptoCount(DtMessageBuffer&,DtMemoryBufferSP,int packetCount) = 0;
00221 
00224       virtual void readPacketsUptoSize(DtMessageBuffer&,DtMemoryBufferSP) = 0;
00225 
00230       virtual void readPacketsUpToTime(DtMessageBuffer&,DtMemoryBufferSP,double time,
00231          bool inclusive = true) = 0;
00232 
00235       virtual void writePackets(const DtMessageBuffer&) = 0;
00236 
00239       virtual void writePacket(const DtPacket& packet) = 0;
00240 
00250       virtual size_t writePacket(const DtPacket&,void* memory, size_t memorySize,
00251          int fileWriteBufferOffset = -1 ) = 0;
00252 
00254       virtual void setDuration(double duration) = 0;
00255 
00257       virtual double duration() const = 0;
00258 
00260       virtual size_t headerSize() const = 0;
00261 
00263       virtual size_t tailSize() const = 0;
00264 
00266 
00267    protected:
00268 
00269       DtLoggerFile* myLoggerFile;
00270       DtLoggerFileMetaData* myLoggerMetaData;
00271       bool mySerialMode;
00272       double myReadTimeLimit;
00273    };
00274 }
00275 
00276 #endif

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)