other-licenses/7zstub/src/7zip/Archive/7z/7zFolderOutStream.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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;
    39   UInt64 _filePos;
    41   HRESULT OpenFile();
    42   HRESULT WriteEmptyFiles();
    43 public:
    44   HRESULT Init(
    45       const CArchiveDatabaseEx *archiveDatabase,
    46       UInt32 ref2Offset,
    47       UInt32 startIndex,
    48       const CBoolVector *extractStatuses, 
    49       IArchiveExtractCallback *extractCallback,
    50       bool testMode);
    51   HRESULT FlushCorrupted(Int32 resultEOperationResult);
    52   HRESULT WasWritingFinished();
    53 };
    55 }}
    57 #endif

mercurial