tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Lzma2Encoder.h (1110B)


      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 ICompressSetCoderPropertiesOpt,
     20  public CMyUnknownImp
     21 {
     22  CLzma2EncHandle _encoder;
     23 public:
     24  MY_UNKNOWN_IMP4(
     25      ICompressCoder,
     26      ICompressSetCoderProperties,
     27      ICompressWriteCoderProperties,
     28      ICompressSetCoderPropertiesOpt)
     29 
     30  STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,
     31      const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
     32  STDMETHOD(SetCoderProperties)(const PROPID *propIDs, const PROPVARIANT *props, UInt32 numProps);
     33  STDMETHOD(WriteCoderProperties)(ISequentialOutStream *outStream);
     34  STDMETHOD(SetCoderPropertiesOpt)(const PROPID *propIDs, const PROPVARIANT *props, UInt32 numProps);
     35 
     36  CEncoder();
     37  virtual ~CEncoder();
     38 };
     39 
     40 }}
     41 
     42 #endif