📄 arjitem.h
字号:
// Archive/Arj/ItemInfo.h
#pragma once
#ifndef __ARCHIVE_ARJ_ITEMINFO_H
#define __ARCHIVE_ARJ_ITEMINFO_H
#include "Common/Types.h"
#include "Common/String.h"
#include "ArjHeader.h"
namespace NArchive {
namespace NArj {
struct CVersion
{
BYTE Version;
BYTE HostOS;
};
inline bool operator==(const CVersion &v1, const CVersion &v2)
{ return (v1.Version == v2.Version) && (v1.HostOS == v2.HostOS); }
inline bool operator!=(const CVersion &v1, const CVersion &v2)
{ return !(v1 == v2); }
class CItem
{
public:
BYTE Version;
BYTE ExtractVersion;
BYTE HostOS;
BYTE Flags;
BYTE Method;
BYTE FileType;
UINT32 ModifiedTime;
UINT32 PackSize;
UINT32 Size;
UINT32 FileCRC;
// UINT16 FilespecPositionInFilename;
UINT16 FileAccessMode;
// BYTE FirstChapter;
// BYTE LastChapter;
AString Name;
bool IsEncrypted() const { return (Flags & NFileHeader::NFlags::kGarbled) != 0; }
bool IsDirectory() const { return (FileType == NFileHeader::NFileType::kDirectory); }
UINT32 GetWinAttributes() const
{
DWORD winAtrributes;
switch(HostOS)
{
case NFileHeader::NHostOS::kMSDOS:
case NFileHeader::NHostOS::kWIN95:
winAtrributes = FileAccessMode;
break;
default:
winAtrributes = 0;
}
if (IsDirectory())
winAtrributes |= FILE_ATTRIBUTE_DIRECTORY;
return winAtrributes;
}
};
class CItemEx: public CItem
{
public:
UINT64 DataPosition;
};
}}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -