Mercurial > vba-linux
annotate src/win32/7zip/7z/CPP/7zip/Archive/GZip/GZipItem.h @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
rev | line source |
---|---|
rlm@1 | 1 // Archive/GZipItem.h |
rlm@1 | 2 |
rlm@1 | 3 #ifndef __ARCHIVE_GZIP_ITEM_H |
rlm@1 | 4 #define __ARCHIVE_GZIP_ITEM_H |
rlm@1 | 5 |
rlm@1 | 6 #include "Common/Types.h" |
rlm@1 | 7 #include "Common/MyString.h" |
rlm@1 | 8 #include "Common/Buffer.h" |
rlm@1 | 9 |
rlm@1 | 10 namespace NArchive { |
rlm@1 | 11 namespace NGZip { |
rlm@1 | 12 |
rlm@1 | 13 class CItem |
rlm@1 | 14 { |
rlm@1 | 15 private: |
rlm@1 | 16 bool TestFlag(Byte flag) const { return ((Flags & flag) != 0); } |
rlm@1 | 17 public: |
rlm@1 | 18 Byte CompressionMethod; |
rlm@1 | 19 Byte Flags; |
rlm@1 | 20 UInt32 Time; |
rlm@1 | 21 Byte ExtraFlags; |
rlm@1 | 22 Byte HostOS; |
rlm@1 | 23 UInt32 FileCRC; |
rlm@1 | 24 UInt32 UnPackSize32; |
rlm@1 | 25 |
rlm@1 | 26 AString Name; |
rlm@1 | 27 AString Comment; |
rlm@1 | 28 CByteBuffer Extra; |
rlm@1 | 29 |
rlm@1 | 30 bool IsText() const |
rlm@1 | 31 { return TestFlag(NFileHeader::NFlags::kDataIsText); } |
rlm@1 | 32 bool HeaderCRCIsPresent() const |
rlm@1 | 33 { return TestFlag(NFileHeader::NFlags::kHeaderCRCIsPresent); } |
rlm@1 | 34 bool ExtraFieldIsPresent() const |
rlm@1 | 35 { return TestFlag(NFileHeader::NFlags::kExtraIsPresent); } |
rlm@1 | 36 bool NameIsPresent() const |
rlm@1 | 37 { return TestFlag(NFileHeader::NFlags::kNameIsPresent); } |
rlm@1 | 38 bool CommentIsPresent() const |
rlm@1 | 39 { return TestFlag(NFileHeader::NFlags::kComentIsPresent); } |
rlm@1 | 40 |
rlm@1 | 41 void SetNameIsPresentFlag(bool nameIsPresent) |
rlm@1 | 42 { |
rlm@1 | 43 if (nameIsPresent) |
rlm@1 | 44 Flags |= NFileHeader::NFlags::kNameIsPresent; |
rlm@1 | 45 else |
rlm@1 | 46 Flags &= (~NFileHeader::NFlags::kNameIsPresent); |
rlm@1 | 47 } |
rlm@1 | 48 |
rlm@1 | 49 void Clear() |
rlm@1 | 50 { |
rlm@1 | 51 Name.Empty(); |
rlm@1 | 52 Comment.Empty();; |
rlm@1 | 53 Extra.SetCapacity(0); |
rlm@1 | 54 } |
rlm@1 | 55 }; |
rlm@1 | 56 |
rlm@1 | 57 }} |
rlm@1 | 58 |
rlm@1 | 59 #endif |