lgrFileOutput.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 lgrFileOutput_H_
00011 #define lgrFileOutput_H_
00012 
00013 #include "lgrCore.h"
00014 #include "absoluteTime.h"
00015 #include "messageOutput.h"
00016 #include "filePosition.h"
00017 #include <vlutil/vlMachineTypes.h>
00018 
00019 namespace MAKLogger
00020 {
00021    class DtCheckpointPolicy;
00022 
00025    class DT_DLL_LGRCORE DtLgrFileOutput : public DtMessageOutput
00026    {
00027 
00028    protected:
00030       DtLgrFileOutput();
00031 
00032    public:
00034       virtual ~DtLgrFileOutput();
00035 
00037       virtual void setDuration(const DtRelativeTime& relTime) = 0;
00038 
00040       virtual void setWriteBufferSize(size_t) = 0;
00041 
00043       virtual size_t getWriteBufferSize() const = 0;
00044 
00046       virtual bool outputPacket(const DtPacket& buffer);
00047 
00049       virtual void filterMessage(DtPacket* packet);
00050 
00052       virtual const DtString& filename() const = 0;
00053 
00055       virtual DtFilePosition fileSize() const = 0;
00056 
00058       virtual DtFilePosition currentPosition() const = 0;
00059 
00062       virtual int lastMessageType() const;
00063 
00066       virtual size_t lastMessageSize() const;
00067 
00070       virtual DtAbsoluteTime lastMessageTime() const;
00071 
00074       virtual DtAbsoluteTime firstMessageTime() const;
00075 
00076    protected:
00077 
00080       virtual bool writePacket(const DtPacket& packet) = 0;
00081 
00082    protected:
00083 
00084       DtAbsoluteTime myFirstTime;
00085       DtAbsoluteTime myLastTime;
00086       int myLastPacketType;
00087       size_t myLastPacketSize;
00088    };
00089 
00090 }
00091 
00092 #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)