Files

46 lines
1007 B
C
Raw Permalink Normal View History

2021-10-19 21:27:23 +01:00
// LzmaEncoder.h
2023-09-24 03:13:03 +01:00
#ifndef ZIP7_INC_LZMA_ENCODER_H
#define ZIP7_INC_LZMA_ENCODER_H
2021-10-19 21:27:23 +01:00
#include "../../../C/LzmaEnc.h"
#include "../../Common/MyCom.h"
#include "../ICoder.h"
namespace NCompress {
namespace NLzma {
2023-09-24 03:13:03 +01:00
class CEncoder Z7_final:
2021-10-19 21:27:23 +01:00
public ICompressCoder,
public ICompressSetCoderProperties,
public ICompressWriteCoderProperties,
public ICompressSetCoderPropertiesOpt,
public CMyUnknownImp
{
2023-09-24 03:13:03 +01:00
Z7_COM_UNKNOWN_IMP_4(
2021-10-19 21:27:23 +01:00
ICompressCoder,
ICompressSetCoderProperties,
ICompressWriteCoderProperties,
ICompressSetCoderPropertiesOpt)
2023-09-24 03:13:03 +01:00
Z7_IFACE_COM7_IMP(ICompressCoder)
public:
Z7_IFACE_COM7_IMP(ICompressSetCoderProperties)
Z7_IFACE_COM7_IMP(ICompressWriteCoderProperties)
Z7_IFACE_COM7_IMP(ICompressSetCoderPropertiesOpt)
CLzmaEncHandle _encoder;
UInt64 _inputProcessed;
2021-10-19 21:27:23 +01:00
CEncoder();
2023-09-24 03:13:03 +01:00
~CEncoder();
2021-10-19 21:27:23 +01:00
UInt64 GetInputProcessedSize() const { return _inputProcessed; }
bool IsWriteEndMark() const { return LzmaEnc_IsWriteEndMark(_encoder) != 0; }
};
}}
#endif