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();
}
}