using System; using System.Collections.Generic; namespace SharpCompress.Common { public abstract class Entry : IEntry { /// /// The File's 32 bit CRC Hash /// public abstract long Crc { get; } /// /// The string key of the file internal to the Archive. /// public abstract string Key { get; } /// /// The compressed file size /// public abstract long CompressedSize { get; } /// /// The compression type /// public abstract CompressionType CompressionType { get; } /// /// The uncompressed file size /// public abstract long Size { get; } /// /// The entry last modified time in the archive, if recorded /// public abstract DateTime? LastModifiedTime { get; } /// /// The entry create time in the archive, if recorded /// public abstract DateTime? CreatedTime { get; } /// /// The entry last accessed time in the archive, if recorded /// public abstract DateTime? LastAccessedTime { get; } /// /// The entry time when archived, if recorded /// public abstract DateTime? ArchivedTime { get; } /// /// Entry is password protected and encrypted and cannot be extracted. /// public abstract bool IsEncrypted { get; } /// /// Entry is directory. /// public abstract bool IsDirectory { get; } /// /// Entry is split among multiple volumes /// public abstract bool IsSplitAfter { get; } /// public override string ToString() { return Key; } internal abstract IEnumerable Parts { get; } internal bool IsSolid { get; set; } internal virtual void Close() { } /// /// Entry file attribute. /// public virtual int? Attrib => throw new NotImplementedException(); } }