using System; using System.Collections.Generic; namespace Foodsoft.Alpm { public enum PackageOrigin { File = 1, LocalDB, SyncDB } public enum InstallReason { Explicit = 0, Depend = 1 } [Flags] public enum ValidationType { Unknown = 0, None = (1 << 0), MD5Sum = (1 << 1), SHA256Sum = (1 << 2), Signature = (1 << 3) } public interface IPackageData { public string Filename { get; } public string Base { get; } public string Name { get; } public string Version { get; } public PackageOrigin Origin { get; } public string Description { get; } public string Url { get; } public DateTimeOffset BuildDate { get; } public DateTimeOffset InstallDate { get; } public string Packager { get; } public string MD5Sum { get; } public string SHA256Sum { get; } public string Arch { get; } public long Size { get; } public long InstalledSize { get; } public InstallReason InstallReason { get; } public IReadOnlyCollection Licenses { get; } public IReadOnlyCollection Groups { get; } public IReadOnlyCollection Depends { get; } public IReadOnlyCollection OptDepends { get; } public IReadOnlyCollection CheckDepends { get; } public IReadOnlyCollection MakeDepends { get; } public IReadOnlyCollection Conflicts { get; } public IReadOnlyCollection Provides { get; } public IReadOnlyCollection Replaces { get; } public IReadOnlyList FileList { get; } public IReadOnlyList Backup { get; } public string Base64Signature { get; } public ValidationType Validation { get; } public bool HasScriptlet { get; } public long DownloadSize { get; } public Database? DB { get; } } }