protected virtual async Task OnAddAsync(string address, IDownloadListener downloadListener = null) { var link = await serviceProvider.MakeDownloadAsync(address, Saver); link.Request.Listener = downloadListener; AddCore(link); }
public IDisposable Fetch(string aUrl, FileStream aFileStream, IDownloadListener aListener) { var download = new Download( aUrl, 4096, aFileStream, aListener); download.Start(); return download; }
public async Task AddAsync(string address, IDownloadListener downloadListener = null) { if (downloadMap.ContainsKey(address)) { return; } await semaphoreSlim.WaitAsync(); try { if (downloadMap.ContainsKey(address)) { return; } await OnAddAsync(address, downloadListener); } finally { semaphoreSlim.Release(); } }
public Download(string aUrl, int aBufferSize, FileStream aOutStream, IDownloadListener aListener) { iListener = aListener; iUrl = aUrl; iOutStream = aOutStream; iBuffer = new byte[aBufferSize]; }
public DownloadTask(IDownloadListener listener) { Listener = listener; }
/// <summary> Starts the given download. </summary> public async void RunDownload(Context context, Download download, IDownloadListener listener, IDownloadNotificationHandler handler = null) { // start your async download here, and hook listeners. // Note that listener calls will happen on the UI thread. }
public void SetListener(IDownloadListener listener) { this.listener = listener; }