| OLD | NEW |
| (Empty) |
| 1 // 7zFolderOutStream.h | |
| 2 | |
| 3 #ifndef __7Z_FOLDEROUTSTREAM_H | |
| 4 #define __7Z_FOLDEROUTSTREAM_H | |
| 5 | |
| 6 #include "7zIn.h" | |
| 7 | |
| 8 #include "../../IStream.h" | |
| 9 #include "../IArchive.h" | |
| 10 #include "../Common/OutStreamWithCRC.h" | |
| 11 | |
| 12 namespace NArchive { | |
| 13 namespace N7z { | |
| 14 | |
| 15 class CFolderOutStream: | |
| 16 public ISequentialOutStream, | |
| 17 public CMyUnknownImp | |
| 18 { | |
| 19 public: | |
| 20 MY_UNKNOWN_IMP | |
| 21 | |
| 22 CFolderOutStream(); | |
| 23 | |
| 24 STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize); | |
| 25 private: | |
| 26 | |
| 27 COutStreamWithCRC *_outStreamWithHashSpec; | |
| 28 CMyComPtr<ISequentialOutStream> _outStreamWithHash; | |
| 29 const CArchiveDatabaseEx *_archiveDatabase; | |
| 30 const CBoolVector *_extractStatuses; | |
| 31 UInt32 _startIndex; | |
| 32 UInt32 _ref2Offset; | |
| 33 int _currentIndex; | |
| 34 // UInt64 _currentDataPos; | |
| 35 CMyComPtr<IArchiveExtractCallback> _extractCallback; | |
| 36 bool _testMode; | |
| 37 | |
| 38 bool _fileIsOpen; | |
| 39 | |
| 40 bool _checkCrc; | |
| 41 UInt64 _filePos; | |
| 42 | |
| 43 HRESULT OpenFile(); | |
| 44 HRESULT WriteEmptyFiles(); | |
| 45 public: | |
| 46 HRESULT Init( | |
| 47 const CArchiveDatabaseEx *archiveDatabase, | |
| 48 UInt32 ref2Offset, | |
| 49 UInt32 startIndex, | |
| 50 const CBoolVector *extractStatuses, | |
| 51 IArchiveExtractCallback *extractCallback, | |
| 52 bool testMode, | |
| 53 bool checkCrc); | |
| 54 HRESULT FlushCorrupted(Int32 resultEOperationResult); | |
| 55 HRESULT WasWritingFinished(); | |
| 56 }; | |
| 57 | |
| 58 }} | |
| 59 | |
| 60 #endif | |
| OLD | NEW |