tor-browser

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

XzEncoder.h (1113B)


      1 // XzEncoder.h
      2 
      3 #ifndef __XZ_ENCODER_H
      4 #define __XZ_ENCODER_H
      5 
      6 #include "../../../C/XzEnc.h"
      7 
      8 #include "../../Common/MyCom.h"
      9 
     10 #include "../ICoder.h"
     11 
     12 namespace NCompress {
     13 namespace NXz {
     14 
     15 
     16 class CEncoder:
     17  public ICompressCoder,
     18  public ICompressSetCoderProperties,
     19  public ICompressSetCoderPropertiesOpt,
     20  public CMyUnknownImp
     21 {
     22  CXzEncHandle _encoder;
     23 public:
     24  CXzProps xzProps;
     25 
     26  MY_UNKNOWN_IMP3(
     27      ICompressCoder,
     28      ICompressSetCoderProperties,
     29      ICompressSetCoderPropertiesOpt)
     30 
     31  void InitCoderProps();
     32  HRESULT SetCheckSize(UInt32 checkSizeInBytes);
     33  HRESULT SetCoderProp(PROPID propID, const PROPVARIANT &prop);
     34  
     35  STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,
     36      const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
     37  STDMETHOD(SetCoderProperties)(const PROPID *propIDs, const PROPVARIANT *props, UInt32 numProps);
     38  STDMETHOD(SetCoderPropertiesOpt)(const PROPID *propIDs, const PROPVARIANT *props, UInt32 numProps);
     39 
     40  CEncoder();
     41  virtual ~CEncoder();
     42 };
     43 
     44 }}
     45 
     46 #endif