mirror of
https://github.com/holub/mame
synced 2025-06-23 04:48:37 +03:00
46 lines
1007 B
C++
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
|