loggerFileWriter.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 loggerFileWriter_H_
00011 #define loggerFileWriter_H_
00012 
00013 #include "lgrCore.h"
00014 #include "lgrFileOutput.h"
00015 #include "virtualConstructor.h"
00016 #include "filePosition.h"
00017 #include "memoryBuffer.h"
00018 #include "smartBuffer.h"
00019 
00020 #include <vlutil/vlNetTypes.h>
00021 
00022 namespace MAKLogger
00023 {
00024    class DtCheckpointPolicy;
00025    class DtMessageIOInfo;
00026    class DtLoggerRecordFile;
00027 
00030    class DT_DLL_LGRCORE DtLoggerFileWriter :  public DtLgrFileOutput
00031    {
00032 
00033    public:
00034       DT_VIRTUAL_CTR(DtLoggerFileWriter,(DtMessageIOInfo*,DtLoggerRecordFile*))
00035 
00036       virtual ~DtLoggerFileWriter();
00037 
00038    private:
00040       DtLoggerFileWriter(const DtLoggerFileWriter&);
00042       DtLoggerFileWriter& operator=(const DtLoggerFileWriter&);
00043    public:
00044 
00047       virtual void setDuration(const DtRelativeTime& duration);
00048 
00050       virtual const DtRelativeTime& duration() const;
00051 
00053       virtual void setWriteBufferSize(size_t);
00054 
00056       virtual size_t getWriteBufferSize() const;
00057 
00060       virtual void activate(const DtMessageInput* fileInput);
00061 
00063       virtual bool isActivated() const;
00064 
00066       virtual void deactivate();
00067 
00069       virtual const DtMessageIOInfo* info() const;
00070 
00072       virtual const DtString& filename() const;
00073 
00077       virtual DtFilePosition fileSize() const;
00078 
00082       virtual DtFilePosition currentPosition() const;
00083 
00085       virtual void flush();
00086 
00088       virtual void setOutputScaling(double scaling, bool enableStatic);
00089 
00091       static const DtU32 PostDataMagic = 0xCFB91181;
00092 
00094       const DtLoggerRecordFile* loggerRecordFile() const;
00095 
00096    protected:
00097 
00099       virtual bool writePacket(const DtPacket& packet);
00100 
00101    protected:
00102 
00103       DtMessageIOInfo* myMessageInfo;
00104       DtLoggerRecordFile* myRecordFile;
00105       size_t myBufferSize;
00106       DtMemoryBufferSP myMemory;
00107       DtSmartBuffer myCurrentMemory;
00108       bool myActivatedFlag;
00109       DtRelativeTime myDuration;
00110    };
00111 
00112 }
00113 
00114 #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)