using Alphaleonis.Win32.Filesystem; using Wabbajack.Lib.Validation; namespace Wabbajack.Lib.Downloaders { /// /// Base for all abstract downloaders /// public abstract class AbstractDownloadState { /// /// Returns true if this file is allowed to be downloaded via whitelist /// /// /// public abstract bool IsWhitelisted(ServerWhitelist whitelist); /// /// Downloads this file to the given destination location /// /// public abstract void Download(Archive a, string destination); public void Download(string destination) { Download(new Archive {Name = Path.GetFileName(destination)}, destination); } /// /// Returns true if this link is still valid /// /// public abstract bool Verify(); public abstract IDownloader GetDownloader(); public abstract string GetReportEntry(Archive a); } }