loggerFileReader.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00009 
00010 #ifndef loggerFileReader_H_
00011 #define loggerFileReader_H_
00012 
00013 #include "lgrCore.h"
00014 
00015 #include "lgrFileInput.h"
00016 #include "filePosition.h"
00017 #include "memoryBuffer.h"
00018 
00019 namespace MAKLogger
00020 {
00021    class DtLoggerFile;
00022    class DtMessageIOInfo;
00023    class DtLoggerPlaybackFile;
00024 
00027    class DT_DLL_LGRCORE DtLoggerFileReader :  public DtLgrFileInput
00028    {
00029 
00030    public:
00031 
00033       DtLoggerFileReader(DtMessageIOInfo* info,DtLoggerPlaybackFile* file);
00034 
00036       virtual ~DtLoggerFileReader();
00037    
00038    private:
00040       DtLoggerFileReader(const DtLoggerFileReader&);
00042       DtLoggerFileReader& operator=(const DtLoggerFileReader&);
00043    public:
00044 
00046       virtual const DtLoggerPlaybackFile* playbackFile() const;
00047 
00049       virtual void setReadBufferSize(size_t);
00050 
00052       virtual size_t getReadBufferSize() const;
00053 
00055 
00056       virtual void activate();
00057       virtual void deactivate();
00058 
00059       virtual void getNextMessages(DtMessageBuffer&);
00060       virtual void dropNextMessages();
00061 
00062       virtual const DtMessageIOInfo* info() const;
00064 
00066 
00067 
00070       virtual double peekCurrentPacketTime();
00071 
00074       virtual int peekCurrentPacketType();
00075 
00078       virtual size_t peekCurrentPacketSize();
00079 
00080       virtual bool isCheckpointNecessary(DtAbsoluteTime currentTime,
00081          DtAbsoluteTime newTime);
00082 
00083       virtual void seekToPreviousCheckpoint(DtAbsoluteTime timeToJumpBefore);
00084 
00085       virtual void seekToNextCheckpoint(DtAbsoluteTime currentTime);
00086 
00088       virtual const DtString& filename() const;
00089 
00091       virtual DtFilePosition fileSize() const;  
00092 
00094       virtual DtFilePosition currentPosition() const;      
00095 
00097       virtual DtAbsoluteTime firstMessageTime() const;
00098 
00100       virtual DtAbsoluteTime lastMessageTime() const;
00101 
00103       virtual DtRelativeTime duration() const;
00104 
00106       virtual DtAbsoluteTime lastReadTime() const;
00107 
00109       virtual DtLgrEntityTracker* entityTracker() const;
00111 
00112    protected:
00113 
00114       DtLoggerPlaybackFile* myCurrentFile;
00115       DtAbsoluteTime myLastTimeRead;
00116       DtAbsoluteTime myLastTime;
00117       DtAbsoluteTime myFirstTime;
00118       size_t myBufferSize;
00119       DtMessageIOInfo* myMessageInfo;
00120       DtMemoryBufferSP myMemory;
00121    };
00122 }
00123 
00124 #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)