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/MyString.h"
      7 #include "Common/Types.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 ShowPassword;
     18     UStringVector Paths;
     19 
     20     void Save() const;
     21     void Load();
     22   };
     23 }
     24 
     25 namespace NCompression
     26 {
     27   struct CFormatOptions
     28   {
     29     UInt32 Level;
     30     UInt32 Dictionary;
     31     UInt32 Order;
     32     UInt32 BlockLogSize;
     33     UInt32 NumThreads;
     34 
     35     CSysString FormatID;
     36     UString Method;
     37     UString Options;
     38     UString EncryptionMethod;
     39 
     40     void ResetForLevelChange()
     41     {
     42       BlockLogSize = NumThreads = Level = Dictionary = Order = UInt32(-1);
     43       Method.Empty();
     44       // Options.Empty();
     45       // EncryptionMethod.Empty();
     46     }
     47     CFormatOptions() { ResetForLevelChange(); }
     48   };
     49 
     50   struct CInfo
     51   {
     52     UInt32 Level;
     53     bool ShowPassword;
     54     bool EncryptHeaders;
     55     UString ArcType;
     56     UStringVector ArcPaths;
     57 
     58     CObjectVector<CFormatOptions> Formats;
     59 
     60     void Save() const;
     61     void Load();
     62   };
     63 }
     64 
     65 namespace NWorkDir
     66 {
     67   namespace NMode
     68   {
     69     enum EEnum
     70     {
     71       kSystem,
     72       kCurrent,
     73       kSpecified
     74     };
     75   }
     76   struct CInfo
     77   {
     78     NMode::EEnum Mode;
     79     UString Path;
     80     bool ForRemovableOnly;
     81 
     82     void SetForRemovableOnlyDefault() { ForRemovableOnly = true; }
     83     void SetDefault()
     84     {
     85       Mode = NMode::kSystem;
     86       Path.Empty();
     87       SetForRemovableOnlyDefault();
     88     }
     89 
     90     void Save() const;
     91     void Load();
     92   };
     93 }
     94 
     95 
     96 struct CContextMenuInfo
     97 {
     98   bool Cascaded;
     99   UInt32 Flags;
    100 
    101   void Save() const;
    102   void Load();
    103 };
    104 
    105 #endif
    106