OLD | NEW |
| (Empty) |
1 // DirItem.h | |
2 | |
3 #ifndef __DIR_ITEM_H | |
4 #define __DIR_ITEM_H | |
5 | |
6 #include "Common/MyString.h" | |
7 #include "Common/Types.h" | |
8 #include "../../Archive/IArchive.h" | |
9 | |
10 struct CDirItem | |
11 { | |
12 UInt64 Size; | |
13 FILETIME CTime; | |
14 FILETIME ATime; | |
15 FILETIME MTime; | |
16 UString Name; | |
17 UInt32 Attrib; | |
18 int PhyParent; | |
19 int LogParent; | |
20 | |
21 CDirItem(): PhyParent(-1), LogParent(-1) {} | |
22 bool IsDir() const { return (Attrib & FILE_ATTRIBUTE_DIRECTORY) != 0 ; } | |
23 }; | |
24 | |
25 class CDirItems | |
26 { | |
27 UStringVector Prefixes; | |
28 CIntVector PhyParents; | |
29 CIntVector LogParents; | |
30 | |
31 UString GetPrefixesPath(const CIntVector &parents, int index, const UString &n
ame) const; | |
32 public: | |
33 CObjectVector<CDirItem> Items; | |
34 | |
35 int GetNumFolders() const { return Prefixes.Size(); } | |
36 UString GetPhyPath(int index) const; | |
37 UString GetLogPath(int index) const; | |
38 | |
39 int AddPrefix(int phyParent, int logParent, const UString &prefix); | |
40 void DeleteLastPrefix(); | |
41 | |
42 void EnumerateDirectory(int phyParent, int logParent, const UString &phyPrefix
, | |
43 UStringVector &errorPaths, CRecordVector<DWORD> &errorCodes); | |
44 | |
45 void EnumerateDirItems2( | |
46 const UString &phyPrefix, | |
47 const UString &logPrefix, | |
48 const UStringVector &filePaths, | |
49 UStringVector &errorPaths, CRecordVector<DWORD> &errorCodes); | |
50 | |
51 void ReserveDown(); | |
52 }; | |
53 | |
54 struct CArcItem | |
55 { | |
56 UInt64 Size; | |
57 FILETIME MTime; | |
58 UString Name; | |
59 bool IsDir; | |
60 bool SizeDefined; | |
61 bool Censored; | |
62 UInt32 IndexInServer; | |
63 int TimeType; | |
64 | |
65 CArcItem(): IsDir(false), SizeDefined(false), Censored(false), TimeType(-1) {} | |
66 }; | |
67 | |
68 #endif | |
OLD | NEW |