📄 gzipitem.h
字号:
// Archive/GZipItem.h
#ifndef __ARCHIVE_GZIP_ITEM_H
#define __ARCHIVE_GZIP_ITEM_H
#include "Common/Types.h"
#include "Common/String.h"
#include "Common/Buffer.h"
namespace NArchive {
namespace NGZip {
class CItem
{
private:
bool TestFlag(Byte flag) const { return ((Flags & flag) != 0); }
public:
Byte CompressionMethod;
Byte Flags;
UInt32 Time;
Byte ExtraFlags;
Byte HostOS;
UInt32 FileCRC;
UInt32 UnPackSize32;
AString Name;
AString Comment;
CByteBuffer Extra;
bool IsText() const
{ return TestFlag(NFileHeader::NFlags::kDataIsText); }
bool HeaderCRCIsPresent() const
{ return TestFlag(NFileHeader::NFlags::kHeaderCRCIsPresent); }
bool ExtraFieldIsPresent() const
{ return TestFlag(NFileHeader::NFlags::kExtraIsPresent); }
bool NameIsPresent() const
{ return TestFlag(NFileHeader::NFlags::kNameIsPresent); }
bool CommentIsPresent() const
{ return TestFlag(NFileHeader::NFlags::kComentIsPresent); }
void SetNameIsPresentFlag(bool nameIsPresent)
{
if (nameIsPresent)
Flags |= NFileHeader::NFlags::kNameIsPresent;
else
Flags &= (~NFileHeader::NFlags::kNameIsPresent);
}
void Clear()
{
Name.Empty();
Comment.Empty();;
Extra.SetCapacity(0);
}
};
}}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -