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