xref: /aosp_15_r20/external/lzma/CPP/7zip/Compress/LzmaEncoder.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // LzmaEncoder.h
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_LZMA_ENCODER_H
4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_LZMA_ENCODER_H
5*f6dc9357SAndroid Build Coastguard Worker 
6*f6dc9357SAndroid Build Coastguard Worker #include "../../../C/LzmaEnc.h"
7*f6dc9357SAndroid Build Coastguard Worker 
8*f6dc9357SAndroid Build Coastguard Worker #include "../../Common/MyCom.h"
9*f6dc9357SAndroid Build Coastguard Worker 
10*f6dc9357SAndroid Build Coastguard Worker #include "../ICoder.h"
11*f6dc9357SAndroid Build Coastguard Worker 
12*f6dc9357SAndroid Build Coastguard Worker namespace NCompress {
13*f6dc9357SAndroid Build Coastguard Worker namespace NLzma {
14*f6dc9357SAndroid Build Coastguard Worker 
15*f6dc9357SAndroid Build Coastguard Worker class CEncoder Z7_final:
16*f6dc9357SAndroid Build Coastguard Worker   public ICompressCoder,
17*f6dc9357SAndroid Build Coastguard Worker   public ICompressSetCoderProperties,
18*f6dc9357SAndroid Build Coastguard Worker   public ICompressWriteCoderProperties,
19*f6dc9357SAndroid Build Coastguard Worker   public ICompressSetCoderPropertiesOpt,
20*f6dc9357SAndroid Build Coastguard Worker   public CMyUnknownImp
21*f6dc9357SAndroid Build Coastguard Worker {
22*f6dc9357SAndroid Build Coastguard Worker   Z7_COM_UNKNOWN_IMP_4(
23*f6dc9357SAndroid Build Coastguard Worker       ICompressCoder,
24*f6dc9357SAndroid Build Coastguard Worker       ICompressSetCoderProperties,
25*f6dc9357SAndroid Build Coastguard Worker       ICompressWriteCoderProperties,
26*f6dc9357SAndroid Build Coastguard Worker       ICompressSetCoderPropertiesOpt)
27*f6dc9357SAndroid Build Coastguard Worker   Z7_IFACE_COM7_IMP(ICompressCoder)
28*f6dc9357SAndroid Build Coastguard Worker public:
29*f6dc9357SAndroid Build Coastguard Worker   Z7_IFACE_COM7_IMP(ICompressSetCoderProperties)
30*f6dc9357SAndroid Build Coastguard Worker   Z7_IFACE_COM7_IMP(ICompressWriteCoderProperties)
31*f6dc9357SAndroid Build Coastguard Worker   Z7_IFACE_COM7_IMP(ICompressSetCoderPropertiesOpt)
32*f6dc9357SAndroid Build Coastguard Worker 
33*f6dc9357SAndroid Build Coastguard Worker   CLzmaEncHandle _encoder;
34*f6dc9357SAndroid Build Coastguard Worker   UInt64 _inputProcessed;
35*f6dc9357SAndroid Build Coastguard Worker 
36*f6dc9357SAndroid Build Coastguard Worker   CEncoder();
37*f6dc9357SAndroid Build Coastguard Worker   ~CEncoder();
38*f6dc9357SAndroid Build Coastguard Worker 
GetInputProcessedSize()39*f6dc9357SAndroid Build Coastguard Worker   UInt64 GetInputProcessedSize() const { return _inputProcessed; }
IsWriteEndMark()40*f6dc9357SAndroid Build Coastguard Worker   bool IsWriteEndMark() const { return LzmaEnc_IsWriteEndMark(_encoder) != 0; }
41*f6dc9357SAndroid Build Coastguard Worker };
42*f6dc9357SAndroid Build Coastguard Worker 
43*f6dc9357SAndroid Build Coastguard Worker }}
44*f6dc9357SAndroid Build Coastguard Worker 
45*f6dc9357SAndroid Build Coastguard Worker #endif
46