| 9 | enum IS_PROCESS_FILE_FLAGS {IPFF_EXCLUDE_PARENT=1}; |
| 10 | |
| 11 | class CommandData:public RAROptions |
| 12 | { |
| 13 | private: |
| 14 | void ProcessSwitchesString(const wchar *Str); |
| 15 | void ProcessSwitch(const wchar *Switch); |
| 16 | void BadSwitch(const wchar *Switch); |
| 17 | uint GetExclAttr(const wchar *Str,bool &Dir); |
| 18 | #if !defined(SFX_MODULE) |
| 19 | void SetTimeFilters(const wchar *Mod,bool Before,bool Age); |
| 20 | void SetStoreTimeMode(const wchar *S); |
| 21 | #endif |
| 22 | |
| 23 | bool FileLists; |
| 24 | bool NoMoreSwitches; |
| 25 | RAR_CMD_LIST_MODE ListMode; |
| 26 | bool BareOutput; |
| 27 | public: |
| 28 | CommandData(); |
| 29 | void Init(); |
| 30 | |
| 31 | void ParseCommandLine(bool Preprocess,int argc, char *argv[]); |
| 32 | void ParseArg(wchar *ArgW); |
| 33 | void ParseDone(); |
| 34 | void ParseEnvVar(); |
| 35 | void ReadConfig(); |
| 36 | void PreprocessArg(const wchar *Arg); |
| 37 | void OutTitle(); |
| 38 | void OutHelp(RAR_EXIT ExitCode); |
| 39 | bool IsSwitch(int Ch); |
| 40 | bool ExclCheck(const wchar *CheckName,bool Dir,bool CheckFullPath,bool CheckInclList); |
| 41 | static bool CheckArgs(StringList *Args,bool Dir,const wchar *CheckName,bool CheckFullPath,int MatchMode); |
| 42 | bool ExclDirByAttr(uint FileAttr); |
| 43 | bool TimeCheck(RarTime &ftm,RarTime &ftc,RarTime &fta); |
| 44 | bool SizeCheck(int64 Size); |
| 45 | bool AnyFiltersActive(); |
| 46 | int IsProcessFile(FileHeader &FileHead,bool *ExactMatch,int MatchType, |
| 47 | bool Flags,wchar *MatchedArg,uint MatchedArgSize); |
| 48 | void ProcessCommand(); |
| 49 | void AddArcName(const wchar *Name); |
| 50 | bool GetArcName(wchar *Name,int MaxSize); |
| 51 | bool CheckWinSize(); |
| 52 | |
| 53 | int GetRecoverySize(const wchar *Str,int DefSize); |
| 54 | |
| 55 | #ifndef SFX_MODULE |
| 56 | void ReportWrongSwitches(RARFORMAT Format); |
| 57 | #endif |
| 58 | |
| 59 | wchar Command[NM+16]; |
| 60 | |
| 61 | wchar ArcName[NM]; |
| 62 | |
| 63 | StringList FileArgs; |
| 64 | StringList ExclArgs; |
| 65 | StringList InclArgs; |
| 66 | StringList ArcNames; |
| 67 | StringList StoreArgs; |
| 68 | }; |
nothing calls this directly
no outgoing calls
no test coverage detected