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