Lzma2Encoder.h revision baa3858d3f5d128a5c8466b700098109edcad5f2
1// Lzma2Encoder.h 2 3#ifndef __LZMA2_ENCODER_H 4#define __LZMA2_ENCODER_H 5 6#include "../../../C/Lzma2Enc.h" 7 8#include "../../Common/MyCom.h" 9 10#include "../ICoder.h" 11 12namespace NCompress { 13namespace NLzma2 { 14 15class CEncoder: 16 public ICompressCoder, 17 public ICompressSetCoderProperties, 18 public ICompressWriteCoderProperties, 19 public CMyUnknownImp 20{ 21 CLzma2EncHandle _encoder; 22public: 23 MY_UNKNOWN_IMP2(ICompressSetCoderProperties, ICompressWriteCoderProperties) 24 25 STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream, 26 const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress); 27 STDMETHOD(SetCoderProperties)(const PROPID *propIDs, const PROPVARIANT *props, UInt32 numProps); 28 STDMETHOD(WriteCoderProperties)(ISequentialOutStream *outStream); 29 30 CEncoder(); 31 virtual ~CEncoder(); 32}; 33 34}} 35 36#endif 37