summaryrefslogtreecommitdiffstats
path: root/src/libs/7zip/win/CPP/7zip/Archive/DeflateProps.h
blob: e05a9d4aaade44ce405e69878ae9d2e30189c989 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// DeflateProps.h

#ifndef __DEFLATE_PROPS_H
#define __DEFLATE_PROPS_H

#include "../ICoder.h"

namespace NArchive {

class CDeflateProps
{
  UInt32 Level;
  UInt32 NumPasses;
  UInt32 Fb;
  UInt32 Algo;
  UInt32 Mc;
  bool McDefined;

  void Init()
  {
    Level = NumPasses = Fb = Algo = Mc = 0xFFFFFFFF;
    McDefined = false;
  }
  void Normalize();
public:
  CDeflateProps() { Init(); }
  bool IsMaximum() const { return Algo > 0; }

  HRESULT SetCoderProperties(ICompressSetCoderProperties *setCoderProperties);
  HRESULT SetProperties(const wchar_t **names, const PROPVARIANT *values, Int32 numProps);
};

}

#endif