Example #1
0
        protected virtual async Task OnAddAsync(string address, IDownloadListener downloadListener = null)
        {
            var link = await serviceProvider.MakeDownloadAsync(address, Saver);

            link.Request.Listener = downloadListener;
            AddCore(link);
        }
Example #2
0
 public IDisposable Fetch(string aUrl, FileStream aFileStream, IDownloadListener aListener)
 {
     var download = new Download(
         aUrl,
         4096,
         aFileStream,
         aListener);
     download.Start();
     return download;
 }
Example #3
0
        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();
            }
        }
Example #4
0
 public Download(string aUrl, int aBufferSize, FileStream aOutStream, IDownloadListener aListener)
 {
     iListener = aListener;
     iUrl = aUrl;
     iOutStream = aOutStream;
     iBuffer = new byte[aBufferSize];
 }
Example #5
0
 public DownloadTask(IDownloadListener listener)
 {
     Listener = listener;
 }
Example #6
0
 /// <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.
 }
Example #7
0
 public void SetListener(IDownloadListener listener)
 {
     this.listener = listener;
 }