/// <summary> /// /// </summary> /// <param name="workItems"></param> /// <param name="workItem"></param> public BackgroundTransferPool(BackgroundTransferItem[] workItems = null, BackgroundTransferItem workItem = null) { if (null != workItem) { QueueDownload(workItem); } if (null != workItems) { foreach (BackgroundTransferItem item in workItems) { QueueDownload(item); } } //_transferService = new BackgroundTransferService(); }
/// <summary> /// Queues the provided downloadUri to be downloaded as downloading becomes available. /// </summary> /// <param name="downloadUri">The uri resource to queue for download.</param> public void QueueDownload(BackgroundTransferItem workItem) { // Check if null to prevent null state. if (null != workItem) { Uri downloadUri = workItem.DownloadLocation; if (null != downloadUri) { _requestQueue.Enqueue(downloadUri); } else { throw new ArgumentNullException("workItem", "Invalid DownloadLocation specified."); } } else { throw new ArgumentNullException("workItem", "Invalid workItem specified."); } }