Home | History | Annotate | Download | only in Compress
      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 
     12 namespace NCompress {
     13 namespace NLzma2 {
     14 
     15 class CEncoder:
     16   public ICompressCoder,
     17   public ICompressSetCoderProperties,
     18   public ICompressWriteCoderProperties,
     19   public CMyUnknownImp
     20 {
     21   CLzma2EncHandle _encoder;
     22 public:
     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