mame/3rdparty/lzma/CPP/7zip/Compress/LzmaEncoder.h
2023-12-06 07:58:49 +11:00

46 lines
1007 B
C++

// LzmaEncoder.h
#ifndef ZIP7_INC_LZMA_ENCODER_H
#define ZIP7_INC_LZMA_ENCODER_H
#include "../../../C/LzmaEnc.h"
#include "../../Common/MyCom.h"
#include "../ICoder.h"
namespace NCompress {
namespace NLzma {
class CEncoder Z7_final:
public ICompressCoder,
public ICompressSetCoderProperties,
public ICompressWriteCoderProperties,
public ICompressSetCoderPropertiesOpt,
public CMyUnknownImp
{
Z7_COM_UNKNOWN_IMP_4(
ICompressCoder,
ICompressSetCoderProperties,
ICompressWriteCoderProperties,
ICompressSetCoderPropertiesOpt)
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;
CEncoder();
~CEncoder();
UInt64 GetInputProcessedSize() const { return _inputProcessed; }
bool IsWriteEndMark() const { return LzmaEnc_IsWriteEndMark(_encoder) != 0; }
};
}}
#endif