rar29decoder.h

来自「由7-zip提供的压缩、解压缩程序」· C头文件 代码 · 共 98 行

H
98
字号
// Rar29Decoder.h// According to unRAR license,// this code may not be used to develop a // RAR (WinRAR) compatible archiver#ifndef __RAR_DECODER_H#define __RAR_DECODER_H#include "Common/MyCom.h"#include "../../ICoder.h"#include "Original/rar.hpp"namespace NCompress {namespace NRar29 {class CDecoder :  public ICompressCoder,  public ICompressSetDecoderProperties2,  public CMyUnknownImp{  Unpack *Unp;  bool m_IsSolid;public:  ComprDataIO DataIO;  CDecoder();  ~CDecoder();  /*  class CCoderReleaser  {    CCoder *m_Coder;  public:    CCoderReleaser(CCoder *aCoder): m_Coder(aCoder) {}    ~CCoderReleaser()    {      m_Coder->DataIO.ReleaseStreams();    }  };  */  MY_UNKNOWN_IMP1(ICompressSetDecoderProperties2)  // void ReleaseStreams();  STDMETHOD(CodeReal)(ISequentialInStream *inStream,      ISequentialOutStream *outStream, const UInt64 *inSize, const UInt64 *outSize,      ICompressProgressInfo *progress);  STDMETHOD(Code)(ISequentialInStream *inStream,      ISequentialOutStream *outStream, const UInt64 *inSize, const UInt64 *outSize,      ICompressProgressInfo *progress);  STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size);};}namespace NRar15{class CDecoder :  public ICompressCoder,  public ICompressSetDecoderProperties2,  public CMyUnknownImp{  Unpack *Unp;  bool m_IsSolid;public:  ComprDataIO DataIO;  CDecoder();  ~CDecoder();  /*  class CCoderReleaser  {    CDecoder *m_Coder;  public:    CCoderReleaser(CDecoder *coder): m_Coder(coder) {}    ~CCoderReleaser()    {      m_Coder->DataIO.ReleaseStreams();    }  };  */  MY_UNKNOWN_IMP1(ICompressSetDecoderProperties2)  // void ReleaseStreams();  STDMETHOD(CodeReal)(ISequentialInStream *inStream,      ISequentialOutStream *outStream, const UInt64 *inSize, const UInt64 *outSize,      ICompressProgressInfo *progress);  STDMETHOD(Code)(ISequentialInStream *inStream,      ISequentialOutStream *outStream, const UInt64 *inSize, const UInt64 *outSize,      ICompressProgressInfo *progress);  STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size);};}}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?