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