xref: /aosp_15_r20/external/lzma/CPP/7zip/Compress/ShrinkDecoder.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // ShrinkDecoder.h
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_COMPRESS_SHRINK_DECODER_H
4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_COMPRESS_SHRINK_DECODER_H
5*f6dc9357SAndroid Build Coastguard Worker 
6*f6dc9357SAndroid Build Coastguard Worker #include "../../Common/MyCom.h"
7*f6dc9357SAndroid Build Coastguard Worker 
8*f6dc9357SAndroid Build Coastguard Worker #include "../ICoder.h"
9*f6dc9357SAndroid Build Coastguard Worker 
10*f6dc9357SAndroid Build Coastguard Worker namespace NCompress {
11*f6dc9357SAndroid Build Coastguard Worker namespace NShrink {
12*f6dc9357SAndroid Build Coastguard Worker 
13*f6dc9357SAndroid Build Coastguard Worker const unsigned kNumMaxBits = 13;
14*f6dc9357SAndroid Build Coastguard Worker const unsigned kNumItems = 1 << kNumMaxBits;
15*f6dc9357SAndroid Build Coastguard Worker 
16*f6dc9357SAndroid Build Coastguard Worker Z7_CLASS_IMP_NOQIB_3(
17*f6dc9357SAndroid Build Coastguard Worker   CDecoder
18*f6dc9357SAndroid Build Coastguard Worker   , ICompressCoder
19*f6dc9357SAndroid Build Coastguard Worker   , ICompressSetFinishMode
20*f6dc9357SAndroid Build Coastguard Worker   , ICompressGetInStreamProcessedSize
21*f6dc9357SAndroid Build Coastguard Worker )
22*f6dc9357SAndroid Build Coastguard Worker   bool _fullStreamMode;
23*f6dc9357SAndroid Build Coastguard Worker   UInt64 _inProcessed;
24*f6dc9357SAndroid Build Coastguard Worker 
25*f6dc9357SAndroid Build Coastguard Worker   UInt16 _parents[kNumItems];
26*f6dc9357SAndroid Build Coastguard Worker   Byte _suffixes[kNumItems];
27*f6dc9357SAndroid Build Coastguard Worker   Byte _stack[kNumItems];
28*f6dc9357SAndroid Build Coastguard Worker 
29*f6dc9357SAndroid Build Coastguard Worker   HRESULT CodeReal(ISequentialInStream *inStream, ISequentialOutStream *outStream,
30*f6dc9357SAndroid Build Coastguard Worker       const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
31*f6dc9357SAndroid Build Coastguard Worker };
32*f6dc9357SAndroid Build Coastguard Worker 
33*f6dc9357SAndroid Build Coastguard Worker }}
34*f6dc9357SAndroid Build Coastguard Worker 
35*f6dc9357SAndroid Build Coastguard Worker #endif
36