Files
DotNetAlpm/Alpm/IPackageData.cs
2020-04-30 20:42:46 -04:00

64 lines
1.9 KiB
C#

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 : IDisposable
{
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 IEnumerable<string> Licenses { get; }
public IEnumerable<string> Groups { get; }
public IEnumerable<Depend> Depends { get; }
public IEnumerable<Depend> OptDepends { get; }
public IEnumerable<Depend> CheckDepends { get; }
public IEnumerable<Depend> MakeDepends { get; }
public IEnumerable<Depend> Conflicts { get; }
public IEnumerable<Depend> Provides { get; }
public IEnumerable<Depend> Replaces { get; }
public IReadOnlyList<File> Files { get; }
public IEnumerable<Backup> Backup { get; }
public string Base64Signature { get; }
public ValidationType Validation { get; }
public bool HasScriptlet { get; }
public long DownloadSize { get; }
public Database? DB { get; }
}
}