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