Merge pull request #4011 from fritsch/vdpau-settings
[vuplus_xbmc] / lib / UnrarXLib / options.hpp
1 #ifndef _RAR_OPTIONS_
2 #define _RAR_OPTIONS_
3
4 #define DEFAULT_RECOVERY    -1
5
6 #define DEFAULT_RECVOLUMES  -10
7
8 enum PathExclMode {
9   EXCL_NONE,EXCL_BASEPATH,EXCL_SKIPWHOLEPATH,EXCL_SAVEFULLPATH,
10   EXCL_SKIPABSPATH,EXCL_ABSPATH};
11 enum {SOLID_NONE=0,SOLID_NORMAL=1,SOLID_COUNT=2,SOLID_FILEEXT=4,
12       SOLID_VOLUME_DEPENDENT=8,SOLID_VOLUME_INDEPENDENT=16};
13 enum {ARCTIME_NONE,ARCTIME_KEEP,ARCTIME_LATEST};
14 enum EXTTIME_MODE {
15   EXTTIME_NONE,EXTTIME_1S,EXTTIME_HIGH1,EXTTIME_HIGH2,EXTTIME_HIGH3
16 };
17 enum {NAMES_ORIGINALCASE,NAMES_UPPERCASE,NAMES_LOWERCASE};
18 enum MESSAGE_TYPE {MSG_STDOUT,MSG_STDERR,MSG_ERRONLY,MSG_NULL};
19 enum OVERWRITE_MODE { OVERWRITE_ASK,OVERWRITE_ALL,OVERWRITE_NONE};
20
21 #define     MAX_FILTERS           16
22 enum FilterState {FILTER_DEFAULT=0,FILTER_AUTO,FILTER_FORCE,FILTER_DISABLE};
23
24 struct FilterMode
25 {
26   FilterState State;
27   int Param1;
28   int Param2;
29 };
30
31
32 class RAROptions
33 {
34   public:
35     RAROptions();
36     ~RAROptions();
37     void Init();
38
39     uint ExclFileAttr;
40     uint InclFileAttr;
41     bool InclAttrSet;
42     uint WinSize;
43     char TempPath[NM];
44     char SFXModule[NM];
45     char ExtrPath[NM+16];
46     wchar ExtrPathW[NM];
47     char CommentFile[NM];
48     char ArcPath[NM];
49     char Password[MAXPASSWORD];
50     bool EncryptHeaders;
51     char LogName[NM];
52     MESSAGE_TYPE MsgStream;
53     bool Sound;
54     OVERWRITE_MODE Overwrite;
55     int Method;
56     int Recovery;
57     int RecVolNumber;
58     bool DisablePercentage;
59     bool DisableCopyright;
60     bool DisableDone;
61     int Solid;
62     int SolidCount;
63     bool ClearArc;
64     bool AddArcOnly;
65     bool AV;
66     bool DisableComment;
67     bool FreshFiles;
68     bool UpdateFiles;
69     PathExclMode ExclPath;
70     int Recurse;
71     Int64 VolSize;
72     Array<Int64> NextVolSizes;
73     int CurVolNum;
74     bool AllYes;
75     bool DisableViewAV;
76     bool DisableSortSolid;
77     int ArcTime;
78     int ConvertNames;
79     bool ProcessOwners;
80     bool SaveLinks;
81     int Priority;
82     int SleepTime;
83     bool KeepBroken;
84     bool EraseDisk;
85     bool OpenShared;
86     bool ExclEmptyDir;
87     bool DeleteFiles;
88     bool SyncFiles;
89     bool GenerateArcName;
90     char GenerateMask[80];
91     bool ProcessEA;
92     bool SaveStreams;
93     bool SetCompressedAttr;
94     uint FileTimeOlder;
95     uint FileTimeNewer;
96     RarTime FileTimeBefore;
97     RarTime FileTimeAfter;
98     bool OldNumbering;
99     bool Lock;
100     bool Test;
101     bool VolumePause;
102     FilterMode FilterModes[MAX_FILTERS];
103     char EmailTo[NM];
104     int VersionControl;
105     bool NoEndBlock;
106     bool AppendArcNameToPath;
107     bool Shutdown;
108     EXTTIME_MODE xmtime;
109     EXTTIME_MODE xctime;
110     EXTTIME_MODE xatime;
111     EXTTIME_MODE xarctime;
112     char CompressStdin[NM];
113
114
115
116 #if defined(RARDLL)
117     char DllDestName[NM];
118     wchar DllDestNameW[NM];
119     int DllOpMode;
120     int DllError;
121     LONG UserData;
122     UNRARCALLBACK Callback;
123     CHANGEVOLPROC ChangeVolProc;
124     PROCESSDATAPROC ProcessDataProc;
125 #endif
126 };
127 #endif
128