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