Home | History | Annotate | Download | only in Common
      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