12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #ifndef _RAR_FINDDATA_
- #define _RAR_FINDDATA_
- enum FINDDATA_FLAGS {
- FDDF_SECONDDIR=1 // Second encounter of same directory in SCAN_GETDIRSTWICE ScanTree mode.
- };
- struct FindData
- {
- wchar Name[NM];
- uint64 Size;
- uint FileAttr;
- bool IsDir;
- bool IsLink;
- RarTime mtime;
- RarTime ctime;
- RarTime atime;
- #ifdef _WIN_ALL
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- #endif
- uint Flags;
- bool Error;
- };
- class FindFile
- {
- private:
- #ifdef _WIN_ALL
- static HANDLE Win32Find(HANDLE hFind,const wchar *Mask,FindData *fd);
- #endif
- wchar FindMask[NM];
- bool FirstCall;
- #ifdef _WIN_ALL
- HANDLE hFind;
- #else
- DIR *dirp;
- #endif
- public:
- FindFile();
- ~FindFile();
- void SetMask(const wchar *Mask);
- bool Next(FindData *fd,bool GetSymLink=false);
- static bool FastFind(const wchar *FindMask,FindData *fd,bool GetSymLink=false);
- };
- #endif
|