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