| OLD | NEW |
| (Empty) |
| 1 // Util/InOutTempBuffer.h | |
| 2 | |
| 3 #ifndef __IN_OUT_TEMP_BUFFER_H | |
| 4 #define __IN_OUT_TEMP_BUFFER_H | |
| 5 | |
| 6 #include "../../Windows/FileIO.h" | |
| 7 #include "../../Windows/FileDir.h" | |
| 8 #include "../../Common/MyCom.h" | |
| 9 | |
| 10 #include "../IStream.h" | |
| 11 | |
| 12 class CInOutTempBuffer | |
| 13 { | |
| 14 NWindows::NFile::NDirectory::CTempFile _tempFile; | |
| 15 NWindows::NFile::NIO::COutFile _outFile; | |
| 16 NWindows::NFile::NIO::CInFile _inFile; | |
| 17 Byte *_buffer; | |
| 18 UInt32 _bufferPosition; | |
| 19 UInt32 _currentPositionInBuffer; | |
| 20 CSysString _tmpFileName; | |
| 21 bool _tmpFileCreated; | |
| 22 | |
| 23 UInt64 _fileSize; | |
| 24 | |
| 25 bool WriteToFile(const void *data, UInt32 size); | |
| 26 public: | |
| 27 CInOutTempBuffer(); | |
| 28 ~CInOutTempBuffer(); | |
| 29 void Create(); | |
| 30 | |
| 31 void InitWriting(); | |
| 32 bool Write(const void *data, UInt32 size); | |
| 33 UInt64 GetDataSize() const { return _fileSize; } | |
| 34 bool FlushWrite(); | |
| 35 bool InitReading(); | |
| 36 HRESULT WriteToStream(ISequentialOutStream *stream); | |
| 37 }; | |
| 38 | |
| 39 class CSequentialOutTempBufferImp: | |
| 40 public ISequentialOutStream, | |
| 41 public CMyUnknownImp | |
| 42 { | |
| 43 CInOutTempBuffer *_buffer; | |
| 44 public: | |
| 45 // CSequentialOutStreamImp(): _size(0) {} | |
| 46 // UInt32 _size; | |
| 47 void Init(CInOutTempBuffer *buffer) { _buffer = buffer; } | |
| 48 // UInt32 GetSize() const { return _size; } | |
| 49 | |
| 50 MY_UNKNOWN_IMP | |
| 51 | |
| 52 STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize); | |
| 53 }; | |
| 54 | |
| 55 #endif | |
| OLD | NEW |