view 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
line wrap: on
line source
1 // 7zFolderOutStream.h
3 #ifndef __7Z_FOLDEROUTSTREAM_H
4 #define __7Z_FOLDEROUTSTREAM_H
6 #include "7zIn.h"
8 #include "../../IStream.h"
9 #include "../IArchive.h"
10 #include "../Common/OutStreamWithCRC.h"
12 namespace NArchive {
13 namespace N7z {
15 class CFolderOutStream:
16 public ISequentialOutStream,
17 public CMyUnknownImp
18 {
19 public:
20 MY_UNKNOWN_IMP
22 CFolderOutStream();
24 STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize);
25 private:
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;
38 bool _fileIsOpen;
40 bool _checkCrc;
41 UInt64 _filePos;
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 };
58 }}
60 #endif