public abstract void StopDownload(PreparedDownload download);
private void StartDownloadUnsafe(PreparedDownload download) { if (!registered.Contains(download)) { download.StateChanged += dl_StateChanged; registered.Add(download); DownloadsAdded.RaiseEvent(this, new[] { download }); } Directory.CreateDirectory(Path.GetDirectoryName(download.FilePath)); active.Add(download); download.State = DownloadState.Active; download.Item.Module.StartDownload(download); }
public void StopDownload(PreparedDownload download) { download.Item.Module.StopDownload(download); download.State = DownloadState.Stopped; }
private void RemoveActive(PreparedDownload download) { lock (active) { PreparedDownload dl; while (active.Contains(download)) { if (active.TryTake(out dl)) { break; } } } ProcessQueue(); }
public void StartDownload(PreparedDownload download) { lock (active) { StartDownloadUnsafe(download); } }