namespace Foodsoft.Alpm { public class CachePackage : Package { // ReSharper disable once SuggestBaseTypeForParameter internal CachePackage(SafeCachePackageHandle handle, Database db) : base(handle) { DB = db; } public override Database? DB { get; } public bool CheckMD5Sum() { var ret = alpm.alpm_pkg_checkmd5sum(Handle); if (ret == 0) return true; var errno = alpm.alpm_errno(Handle.SafeAlpmHandle); return errno == ErrorCode.PkgInvalid ? false : throw new AlpmException(errno); } public void SetInstallReason(InstallReason reason) { if (alpm.alpm_pkg_set_reason(Handle, reason) != 0) throw new AlpmException(((SafeCachePackageHandle) Handle).SafeAlpmHandle); } } }