Upload 2.0.2
[physicsfs] / lzma / CPP / 7zip / UI / Common / ZipRegistry.h
1 // ZipRegistry.h
2
3 #ifndef __ZIPREGISTRY_H
4 #define __ZIPREGISTRY_H
5
6 #include "Common/MyString.h"
7 #include "Common/Types.h"
8 #include "ExtractMode.h"
9
10 namespace NExtract
11 {
12   struct CInfo
13   {
14     NPathMode::EEnum PathMode;
15     NOverwriteMode::EEnum OverwriteMode;
16     UStringVector Paths;
17     bool ShowPassword;
18   };
19 }
20
21 namespace NCompression {
22   
23   struct CFormatOptions
24   {
25     CSysString FormatID;
26     UString Options;
27     UString Method;
28     UString EncryptionMethod;
29     UInt32 Level;
30     UInt32 Dictionary;
31     UInt32 Order;
32     UInt32 BlockLogSize;
33     UInt32 NumThreads;
34     void ResetForLevelChange() 
35     { 
36       BlockLogSize = NumThreads = Level = Dictionary = Order = UInt32(-1); 
37       Method.Empty();
38       // EncryptionMethod.Empty();
39       // Options.Empty();
40     }
41     CFormatOptions() { ResetForLevelChange(); }
42   };
43
44   struct CInfo
45   {
46     UStringVector HistoryArchives;
47     UInt32 Level;
48     UString ArchiveType;
49
50     CObjectVector<CFormatOptions> FormatOptionsVector;
51
52     bool ShowPassword;
53     bool EncryptHeaders;
54   };
55 }
56
57 namespace NWorkDir{
58   
59   namespace NMode
60   {
61     enum EEnum
62     {
63       kSystem,
64       kCurrent,
65       kSpecified
66     };
67   }
68   struct CInfo
69   {
70     NMode::EEnum Mode;
71     UString Path;
72     bool ForRemovableOnly;
73     void SetForRemovableOnlyDefault() { ForRemovableOnly = true; }
74     void SetDefault()
75     {
76       Mode = NMode::kSystem;
77       Path.Empty();
78       SetForRemovableOnlyDefault();
79     }
80   };
81 }
82
83 void SaveExtractionInfo(const NExtract::CInfo &info);
84 void ReadExtractionInfo(NExtract::CInfo &info);
85
86 void SaveCompressionInfo(const NCompression::CInfo &info);
87 void ReadCompressionInfo(NCompression::CInfo &info);
88
89 void SaveWorkDirInfo(const NWorkDir::CInfo &info);
90 void ReadWorkDirInfo(NWorkDir::CInfo &info);
91
92 void SaveCascadedMenu(bool enabled);
93 bool ReadCascadedMenu();
94
95 void SaveContextMenuStatus(UInt32 value);
96 bool ReadContextMenuStatus(UInt32 &value);
97
98 #endif