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)