/// <summary>
 /// 初始化下载任务的新实例。
 /// </summary>
 public DownloadTask()
 {
     m_Status       = DownloadTaskStatus.Todo;
     m_DownloadPath = null;
     m_DownloadUri  = null;
     m_FlushSize    = 0;
     m_Timeout      = 0f;
 }
 /// <summary>
 /// 清理下载任务。
 /// </summary>
 public override void Clear()
 {
     base.Clear();
     m_Status       = DownloadTaskStatus.Todo;
     m_DownloadPath = null;
     m_DownloadUri  = null;
     m_FlushSize    = 0;
     m_Timeout      = 0f;
 }
Exemplo n.º 3
0
 public DownloadTaskInfo(String md5, String url, String localPath, DownloadTaskStatus status,
                         Int64 totalSize, Int64 finishedSize)
 {
     this.md5          = md5;
     this.url          = url;
     this.localPath    = localPath;
     this.status       = status;
     this.totalSize    = totalSize;
     this.finishedSize = finishedSize;
 }
Exemplo n.º 4
0
		public DownloadTaskInfo(String md5, String url, String localPath, DownloadTaskStatus status,
			Int64 totalSize, Int64 finishedSize)
		{
			this.md5 = md5;
			this.url = url;
			this.localPath = localPath;
			this.status = status;
			this.totalSize = totalSize;
			this.finishedSize = finishedSize;
		}
 /// <summary>
 /// 初始化下载任务的新实例。
 /// </summary>
 /// <param name="downloadPath">下载后存放路径。</param>
 /// <param name="downloadUri">原始下载地址。</param>
 /// <param name="flushSize">将缓冲区写入磁盘的临界大小。</param>
 /// <param name="timeout">下载超时时长,以秒为单位。</param>
 /// <param name="userData">用户自定义数据。</param>
 public DownloadTask(string downloadPath, string downloadUri, int flushSize, float timeout, object userData)
 {
     m_SerialId     = s_Serial++;
     m_Done         = false;
     m_Status       = DownloadTaskStatus.Todo;
     m_DownloadPath = downloadPath;
     m_DownloadUri  = downloadUri;
     m_FlushSize    = flushSize;
     m_Timeout      = timeout;
     m_UserData     = userData;
 }
Exemplo n.º 6
0
 /// <summary>
 /// 初始化下载任务的新实例。
 /// </summary>
 public DownloadTask()
 {
     m_SerialId     = 0;
     m_Priority     = 0;
     m_Done         = false;
     m_Status       = DownloadTaskStatus.Todo;
     m_DownloadPath = null;
     m_DownloadUri  = null;
     m_FlushSize    = 0;
     m_Timeout      = 0f;
     m_UserData     = null;
 }
Exemplo n.º 7
0
        /// <summary>
        /// Instantiates a new instance of the DownloadTask class
        /// </summary>
        /// <param name="url">The url to the file to download.</param>
        /// <exception cref="System.ArgumentException">An invalid HTTP url was passed into the constructor.</exception>
        public DownloadTask(string url)
        {
            Uri u = new Uri(url);

            if (!u.IsAbsoluteUri && !(u.Scheme == "http"))   // validate url
            {
                throw new ArgumentException("Only downloads over HTTP are supported.", "url");
            }

            BufferSize          = DefaultBufferSize;
            downloadWatch       = new Stopwatch();
            _url                = url;
            _status             = DownloadTaskStatus.NotStarted;
            _deleteWhenCanceled = true;

            // notify change in elapsed time every second (timer started when download starts)
            elapsedTimer          = new System.Timers.Timer(1000);
            elapsedTimer.Elapsed += (s, args) => {
                RaisePropertyChanged("Elapsed");
            };
        }
Exemplo n.º 8
0
 public static Boolean HasError(this DownloadTaskStatus status)
 {
     return(status == DownloadTaskStatus.Failed);
 }
Exemplo n.º 9
0
 public static Boolean CanPause(this DownloadTaskStatus status)
 {
     return(status == DownloadTaskStatus.Waiting || status == DownloadTaskStatus.Downloading);
 }
Exemplo n.º 10
0
 public static Boolean CanStart(this DownloadTaskStatus status)
 {
     return(status == DownloadTaskStatus.Paused || status == DownloadTaskStatus.Failed);
 }
Exemplo n.º 11
0
 public DownloadTask(string downloadPath, string downloadUri, int flushSize, float timeout) {
     m_SerialId = s_Serial++;
     m_Done = false;
     m_Status = DownloadTaskStatus.Todo;
 }
Exemplo n.º 12
0
 /// <summary>
 /// Instantiates a new instance of the DownloadTask.StatusChangedEventArgs class.
 /// </summary>
 /// <param name="status">Download state.</param>
 public StatusChangedEventArgs(DownloadTaskStatus status)
 {
     Status = status;
 }