Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Side by Side Diff: third_party/lzma/v4_65/files/CPP/7zip/Archive/7z/7zFolderInStream.h

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // 7z/FolderInStream.h
2
3 #ifndef __7Z_FOLDERINSTREAM_H
4 #define __7Z_FOLDERINSTREAM_H
5
6 #include "7zItem.h"
7 #include "7zHeader.h"
8
9 #include "../IArchive.h"
10 #include "../Common/InStreamWithCRC.h"
11 #include "../../IStream.h"
12 #include "../../ICoder.h"
13
14 namespace NArchive {
15 namespace N7z {
16
17 class CFolderInStream:
18 public ISequentialInStream,
19 public ICompressGetSubStreamSize,
20 public CMyUnknownImp
21 {
22 public:
23
24 MY_UNKNOWN_IMP1(ICompressGetSubStreamSize)
25
26 CFolderInStream();
27
28 STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize);
29
30 STDMETHOD(GetSubStreamSize)(UInt64 subStream, UInt64 *value);
31 private:
32 CSequentialInStreamWithCRC *_inStreamWithHashSpec;
33 CMyComPtr<ISequentialInStream> _inStreamWithHash;
34 CMyComPtr<IArchiveUpdateCallback> _updateCallback;
35
36 bool _currentSizeIsDefined;
37 UInt64 _currentSize;
38
39 bool _fileIsOpen;
40 UInt64 _filePos;
41
42 const UInt32 *_fileIndices;
43 UInt32 _numFiles;
44 UInt32 _fileIndex;
45
46 HRESULT OpenStream();
47 HRESULT CloseStream();
48 void AddDigest();
49 public:
50 void Init(IArchiveUpdateCallback *updateCallback,
51 const UInt32 *fileIndices, UInt32 numFiles);
52 CRecordVector<bool> Processed;
53 CRecordVector<UInt32> CRCs;
54 CRecordVector<UInt64> Sizes;
55 UInt64 GetFullSize() const
56 {
57 UInt64 size = 0;
58 for (int i = 0; i < Sizes.Size(); i++)
59 size += Sizes[i];
60 return size;
61 }
62 };
63
64 }}
65
66 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698