2 // 2009-03-11 : Igor Pavlov : Public domain
\r
4 #ifndef __COMPRESS_PPMD_ENCODER_H
\r
5 #define __COMPRESS_PPMD_ENCODER_H
\r
7 #include "../../../C/Ppmd7.h"
\r
9 #include "../../Common/MyCom.h"
\r
11 #include "../ICoder.h"
\r
13 #include "../Common/CWrappers.h"
\r
15 namespace NCompress {
\r
19 public ICompressCoder,
\r
20 public ICompressSetCoderProperties,
\r
21 public ICompressWriteCoderProperties,
\r
22 public CMyUnknownImp
\r
25 CByteOutBufWrap _outStream;
\r
26 CPpmd7z_RangeEnc _rangeEnc;
\r
29 UInt32 _usedMemSize;
\r
34 ICompressSetCoderProperties,
\r
35 ICompressWriteCoderProperties)
\r
37 STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,
\r
38 const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
\r
39 STDMETHOD(SetCoderProperties)(const PROPID *propIDs, const PROPVARIANT *props, UInt32 numProps);
\r
40 STDMETHOD(WriteCoderProperties)(ISequentialOutStream *outStream);
\r