Imported Upstream version 9.20
[platform/upstream/7zip.git] / CPP / 7zip / Archive / Rar / RarItem.cpp
1 // RarItem.cpp\r
2 \r
3 #include "StdAfx.h"\r
4 \r
5 #include "RarItem.h"\r
6 \r
7 namespace NArchive{\r
8 namespace NRar{\r
9 \r
10 bool CItem::IgnoreItem() const\r
11 {\r
12   switch(HostOS)\r
13   {\r
14     case NHeader::NFile::kHostMSDOS:\r
15     case NHeader::NFile::kHostOS2:\r
16     case NHeader::NFile::kHostWin32:\r
17       return ((Attrib & NHeader::NFile::kLabelFileAttribute) != 0);\r
18   }\r
19   return false;\r
20 }\r
21 \r
22 bool CItem::IsDir() const\r
23 {\r
24   if (GetDictSize() == NHeader::NFile::kDictDirectoryValue)\r
25     return true;\r
26   switch(HostOS)\r
27   {\r
28     case NHeader::NFile::kHostMSDOS:\r
29     case NHeader::NFile::kHostOS2:\r
30     case NHeader::NFile::kHostWin32:\r
31       if ((Attrib & FILE_ATTRIBUTE_DIRECTORY) != 0)\r
32         return true;\r
33   }\r
34   return false;\r
35 }\r
36 \r
37 UInt32 CItem::GetWinAttributes() const\r
38 {\r
39   UInt32 winAttributes;\r
40   switch(HostOS)\r
41   {\r
42     case NHeader::NFile::kHostMSDOS:\r
43     case NHeader::NFile::kHostOS2:\r
44     case NHeader::NFile::kHostWin32:\r
45       winAttributes = Attrib;\r
46       break;\r
47     default:\r
48       winAttributes = 0; // must be converted from unix value;\r
49   }\r
50   if (IsDir())\r
51     winAttributes |= NHeader::NFile::kWinFileDirectoryAttributeMask;\r
52   return winAttributes;\r
53 }\r
54 \r
55 }}\r