/// <summary> /// Downloads the given files. /// </summary> /// <param name="p_lstFiles">The files to download.</param> protected void DownloadFiles(List<Uri> p_lstFiles, bool p_booQueued) { Trace.TraceInformation(String.Format("[{0}] Downloading Files.", Descriptor.SourceUri.ToString())); Trace.TraceInformation(String.Format("[{0}] Launching downloading of {1}.", Descriptor.SourceUri.ToString(), p_lstFiles[0].ToString())); Dictionary<string, string> dicAuthenticationTokens = m_eifEnvironmentInfo.Settings.RepositoryAuthenticationTokens[m_mrpModRepository.Id]; Int32 intConnections = m_eifEnvironmentInfo.Settings.UseMultithreadedDownloads ? m_mrpModRepository.AllowedConnections : 1; FileDownloadTask fdtDownloader = new FileDownloadTask(m_mrpModRepository, intConnections, 1024 * 500, m_mrpModRepository.UserAgent); fdtDownloader.TaskEnded += new EventHandler<TaskEndedEventArgs>(Downloader_TaskEnded); fdtDownloader.PropertyChanged += new PropertyChangedEventHandler(Downloader_PropertyChanged); m_lstRunningTasks.Add(fdtDownloader); fdtDownloader.DownloadAsync(p_lstFiles, dicAuthenticationTokens, Path.GetDirectoryName(Descriptor.DefaultSourcePath), true); }
/// <summary> /// A simple constructor that initializes teh object with the given values. /// </summary> /// <param name="p_fdtTask">The download task for which to store the progress state.</param> public DownloadProgressState(FileDownloadTask p_fdtTask) { Update(p_fdtTask); }
/// <summary> /// Updates the stored state to reflect the current progress of the given download. /// </summary> /// <param name="p_fdtTask">The download task for which to store the progress state.</param> public void Update(FileDownloadTask p_fdtTask) { OverallProgress = p_fdtTask.OverallProgress; OverallProgressMinimum = p_fdtTask.OverallProgressMinimum; OverallProgressMaximum = p_fdtTask.OverallProgressMaximum; DownloadSpeed = p_fdtTask.DownloadSpeed; TimeRemaining = p_fdtTask.TimeRemaining; }