1 #ifndef _RAR_CMDDATA_ 2 #define _RAR_CMDDATA_ 3 4 #define DefaultStoreList "ace;arj;bz2;cab;gz;jpeg;jpg;lha;lzh;mp3;rar;zip;taz;tgz;z" 5 6 class CommandData:public RAROptions 7 { 8 private: 9 void ProcessSwitchesString(char *Str); 10 void ProcessSwitch(char *Switch); 11 void BadSwitch(char *Switch); 12 bool ExclCheckArgs(StringList *Args,char *CheckName,bool CheckFullPath,int MatchMode); 13 uint GetExclAttr(char *Str); 14 15 bool FileLists; 16 bool NoMoreSwitches; 17 bool TimeConverted; 18 bool BareOutput; 19 public: 20 CommandData(); 21 ~CommandData(); 22 void Init(); 23 void Close(); 24 void ParseArg(char *Arg,wchar *ArgW); 25 void ParseDone(); 26 void ParseEnvVar(); 27 void ReadConfig(int argc,char *argv[]); 28 bool IsConfigEnabled(int argc,char *argv[]); 29 void OutTitle(); 30 void OutHelp(); 31 bool IsSwitch(int Ch); 32 bool ExclCheck(char *CheckName,bool CheckFullPath); 33 bool StoreCheck(char *CheckName); 34 bool TimeCheck(RarTime &ft); 35 int IsProcessFile(FileHeader &NewLhd,bool *ExactMatch=NULL,int MatchType=MATCH_WILDSUBPATH); 36 void ProcessCommand(); 37 void AddArcName(char *Name,wchar *NameW); 38 bool GetArcName(char *Name,wchar *NameW,int MaxSize); 39 bool CheckWinSize(); 40 41 int GetRecoverySize(char *Str,int DefSize); 42 43 char Command[NM+16]; 44 wchar CommandW[NM+16]; 45 46 char ArcName[NM]; 47 wchar ArcNameW[NM]; 48 49 StringList *FileArgs; 50 StringList *ExclArgs; 51 StringList *InclArgs; 52 StringList *ArcNames; 53 StringList *StoreArgs; 54 }; 55 56 #endif 57