ZipRegistry.h revision baa3858d3f5d128a5c8466b700098109edcad5f2
146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// ZipRegistry.h 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef __ZIP_REGISTRY_H 43551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#define __ZIP_REGISTRY_H 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "Common/MyString.h" 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "Common/Types.h" 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "ExtractMode.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 116e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)namespace NExtract 126e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles){ 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) struct CInfo 1403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) { 15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) NPathMode::EEnum PathMode; 16868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) NOverwriteMode::EEnum OverwriteMode; 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool ShowPassword; 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) UStringVector Paths; 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) void Save() const; 21a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) void Load(); 22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) }; 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace NCompression 265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles){ 275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) struct CFormatOptions 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) UInt32 Level; 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) UInt32 Dictionary; 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) UInt32 Order; 325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) UInt32 BlockLogSize; 335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) UInt32 NumThreads; 34a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 35a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) CSysString FormatID; 36a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) UString Method; 37a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) UString Options; 38a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) UString EncryptionMethod; 39a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 40a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) void ResetForLevelChange() 41a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) { 42a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) BlockLogSize = NumThreads = Level = Dictionary = Order = UInt32(-1); 43a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) Method.Empty(); 44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Options.Empty(); 45a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // EncryptionMethod.Empty(); 46a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) } 47a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) CFormatOptions() { ResetForLevelChange(); } 48a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) }; 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) struct CInfo 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { 526e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) UInt32 Level; 536e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) bool ShowPassword; 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool EncryptHeaders; 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) UString ArcType; 566e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) UStringVector ArcPaths; 576e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) CObjectVector<CFormatOptions> Formats; 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void Save() const; 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void Load(); 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }; 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace NWorkDir 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){ 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) namespace NMode 68116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) enum EEnum 70e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch { 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kSystem, 724e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) kCurrent, 732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kSpecified 742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }; 752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) struct CInfo 772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { 782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) NMode::EEnum Mode; 795c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu UString Path; 805c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool ForRemovableOnly; 816e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 826e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) void SetForRemovableOnlyDefault() { ForRemovableOnly = true; } 836e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) void SetDefault() 845c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu { 85a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) Mode = NMode::kSystem; 86a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) Path.Empty(); 87a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) SetForRemovableOnlyDefault(); 88a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) } 89a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 90a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) void Save() const; 91a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) void Load(); 92a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) }; 93a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} 945f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 955f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 965f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)struct CContextMenuInfo 975f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles){ 985f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool Cascaded; 995f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) UInt32 Flags; 1005f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 1015f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) void Save() const; 1025f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) void Load(); 1035f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}; 104a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 1051320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 10646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)