1baa3858d3f5d128a5c8466b700098109edcad5f2repo sync// ZipRegistry.h
2baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
3baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#ifndef __ZIP_REGISTRY_H
4baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#define __ZIP_REGISTRY_H
5baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
6baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "Common/MyString.h"
7baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "Common/Types.h"
8baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
9baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "ExtractMode.h"
10baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
11baa3858d3f5d128a5c8466b700098109edcad5f2repo syncnamespace NExtract
12baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{
13baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  struct CInfo
14baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  {
15baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    NPathMode::EEnum PathMode;
16baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    NOverwriteMode::EEnum OverwriteMode;
17baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    bool ShowPassword;
18baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UStringVector Paths;
19baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
20baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    void Save() const;
21baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    void Load();
22baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  };
23baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}
24baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
25baa3858d3f5d128a5c8466b700098109edcad5f2repo syncnamespace NCompression
26baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{
27baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  struct CFormatOptions
28baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  {
29baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UInt32 Level;
30baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UInt32 Dictionary;
31baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UInt32 Order;
32baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UInt32 BlockLogSize;
33baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UInt32 NumThreads;
34baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
35baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    CSysString FormatID;
36baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UString Method;
37baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UString Options;
38baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UString EncryptionMethod;
39baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
40baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    void ResetForLevelChange()
41baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    {
42baa3858d3f5d128a5c8466b700098109edcad5f2repo sync      BlockLogSize = NumThreads = Level = Dictionary = Order = UInt32(-1);
43baa3858d3f5d128a5c8466b700098109edcad5f2repo sync      Method.Empty();
44baa3858d3f5d128a5c8466b700098109edcad5f2repo sync      // Options.Empty();
45baa3858d3f5d128a5c8466b700098109edcad5f2repo sync      // EncryptionMethod.Empty();
46baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    }
47baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    CFormatOptions() { ResetForLevelChange(); }
48baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  };
49baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
50baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  struct CInfo
51baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  {
52baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UInt32 Level;
53baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    bool ShowPassword;
54baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    bool EncryptHeaders;
55baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UString ArcType;
56baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UStringVector ArcPaths;
57baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
58baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    CObjectVector<CFormatOptions> Formats;
59baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
60baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    void Save() const;
61baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    void Load();
62baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  };
63baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}
64baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
65baa3858d3f5d128a5c8466b700098109edcad5f2repo syncnamespace NWorkDir
66baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{
67baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  namespace NMode
68baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  {
69baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    enum EEnum
70baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    {
71baa3858d3f5d128a5c8466b700098109edcad5f2repo sync      kSystem,
72baa3858d3f5d128a5c8466b700098109edcad5f2repo sync      kCurrent,
73baa3858d3f5d128a5c8466b700098109edcad5f2repo sync      kSpecified
74baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    };
75baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  }
76baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  struct CInfo
77baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  {
78baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    NMode::EEnum Mode;
79baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    UString Path;
80baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    bool ForRemovableOnly;
81baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
82baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    void SetForRemovableOnlyDefault() { ForRemovableOnly = true; }
83baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    void SetDefault()
84baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    {
85baa3858d3f5d128a5c8466b700098109edcad5f2repo sync      Mode = NMode::kSystem;
86baa3858d3f5d128a5c8466b700098109edcad5f2repo sync      Path.Empty();
87baa3858d3f5d128a5c8466b700098109edcad5f2repo sync      SetForRemovableOnlyDefault();
88baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    }
89baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
90baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    void Save() const;
91baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    void Load();
92baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  };
93baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}
94baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
95baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
96baa3858d3f5d128a5c8466b700098109edcad5f2repo syncstruct CContextMenuInfo
97baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{
98baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  bool Cascaded;
99baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  UInt32 Flags;
100baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
101baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  void Save() const;
102baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  void Load();
103baa3858d3f5d128a5c8466b700098109edcad5f2repo sync};
104baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
105baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#endif
106