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