64 lines
1.9 KiB
C#
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 ICollection<string> Licenses { get; }
|
|
public ICollection<string> Groups { get; }
|
|
public ICollection<Depend> Depends { get; }
|
|
public ICollection<Depend> OptDepends { get; }
|
|
public ICollection<Depend> CheckDepends { get; }
|
|
public ICollection<Depend> MakeDepends { get; }
|
|
public ICollection<Depend> Conflicts { get; }
|
|
public ICollection<Depend> Provides { get; }
|
|
public ICollection<Depend> Replaces { get; }
|
|
public IReadOnlyList<File> Files { get; }
|
|
public ICollection<Backup> Backup { get; }
|
|
public string Base64Signature { get; }
|
|
public ValidationType Validation { get; }
|
|
public bool HasScriptlet { get; }
|
|
public long DownloadSize { get; }
|
|
public Database? DB { get; }
|
|
}
|
|
} |