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