}\r
\r
// ダウンロードの進捗を表示\r
- if (a.TaskProgressPercent >= 0) {\r
- progressBarSub.Value = (int) a.TaskProgressPercent;\r
+ if (a.ProgressPercent >= 0) {\r
+ progressBarSub.Value = (int) a.ProgressPercent;\r
progressBarSub.Style = ProgressBarStyle.Continuous;\r
} else {\r
progressBarSub.Style = ProgressBarStyle.Marquee;\r
\r
progressState = NativeMethods.ProgressBarState.Normal;\r
\r
- logBox.AppendText(string.Format(" ... 完了. [{0}%]", (int) e.TaskProgressPercent));\r
+ logBox.AppendText(string.Format(" ... 完了. [{0}%]", (int) e.ProgressPercent));\r
logBox.AppendText(System.Environment.NewLine);\r
break;\r
case NaGetTaskSetEventType.INFO:\r
}\r
\r
// タスクセット全体の進捗をプログレスバーに表示する\r
- if (e.TaskProgressPercent >= 0) {\r
- progressBar.Value = (int) e.TaskProgressPercent;\r
+ if (e.ProgressPercent >= 0) {\r
+ progressBar.Value = (int) e.ProgressPercent;\r
progressBar.Style = ProgressBarStyle.Continuous;\r
} else {\r
progressBar.Style = ProgressBarStyle.Marquee;\r
NativeMethods.ProgressBar_SetState(progressBar, progressState);\r
NativeMethods.ProgressBar_SetState(progressBarSub, progressState);\r
// タスクセット全体の進捗をタスクバーに表示する(Windows 7以降のみ)\r
- if (e.TaskProgressPercent >= 0 && e.TaskProgressPercent < 100) {\r
- NativeMethods.Form_SetTaskbarProgressParams(this, progressBar.Style, progressState, (ulong) e.TaskProgressPercent, 100);\r
+ if (e.ProgressPercent >= 0 && e.ProgressPercent < 100) {\r
+ NativeMethods.Form_SetTaskbarProgressParams(this, progressBar.Style, progressState, (ulong) e.ProgressPercent, 100);\r
} else {\r
NativeMethods.Form_SetTaskbarProgressParams(this, progressBar.Style, progressState, 0, 0);\r
}\r
Console.Write(" " + e.TaskMessage);\r
break;\r
case NaGetTaskSetEventType.COMPLETED_TASKSET:\r
- Console.WriteLine(" ... Done. [{0}%]", (int) e.TaskProgressPercent);\r
+ Console.WriteLine(" ... Done. [{0}%]", (int) e.ProgressPercent);\r
break;\r
case NaGetTaskSetEventType.INFO:\r
Console.WriteLine(" " + e.TaskMessage);\r
Console.Write(" " + e.TaskMessage);\r
break;\r
case NaGetTaskSetEventType.COMPLETED_TASKSET:\r
- Console.WriteLine(" ... Done. [{0}%]", (int) e.TaskProgressPercent);\r
+ Console.WriteLine(" ... Done. [{0}%]", (int) e.ProgressPercent);\r
break;\r
case NaGetTaskSetEventType.INFO:\r
Console.WriteLine(" " + e.TaskMessage);\r
Console.Write(" " + e.TaskMessage);\r
break;\r
case NaGetTaskSetEventType.COMPLETED_TASKSET:\r
- Console.WriteLine(" ... Done. [{0}%]", (int) e.TaskProgressPercent);\r
+ Console.WriteLine(" ... Done. [{0}%]", (int) e.ProgressPercent);\r
break;\r
case NaGetTaskSetEventType.INFO:\r
Console.WriteLine(" " + e.TaskMessage);\r
Console.Write(" " + e.TaskMessage);\r
break;\r
case NaGetTaskSetEventType.COMPLETED_TASKSET:\r
- Console.WriteLine(" ... Done. [{0}%]", (int) e.TaskProgressPercent);\r
+ Console.WriteLine(" ... Done. [{0}%]", (int) e.ProgressPercent);\r
break;\r
case NaGetTaskSetEventType.INFO:\r
Console.WriteLine(" " + e.TaskMessage);\r
using System.Net.Mime;\r
using System.IO;\r
using System.Threading;\r
-using NaGet.SubCommands;\r
+using NaGet.Tasks;\r
\r
namespace NaGet.Net\r
{\r
/// <summary>\r
/// ダウンロードイベントオブジェクト\r
/// </summary>\r
-public class DownloadEventArgs : NaGetEventArgs\r
+public class DownloadEventArgs : TaskEventArgs\r
{\r
/// <summary>\r
/// イベントの種類\r
MaxSize = max;\r
\r
TaskMessage = msg;\r
- TaskProgressPercent = (max > 0)? (100.0f * pos / max) : -1;\r
+ ProgressPercent = (max > 0)? (100.0f * pos / max) : -1;\r
}\r
}\r
\r
/// <summary>\r
/// ダウンロード処理を行うクラス\r
/// </summary>\r
-public class Downloader : NaGetTask\r
+public class Downloader : Task\r
{\r
public IWebProxy proxy;\r
\r
}\r
\r
if (cancelCalled) {\r
- throw new NaGetTaskCanceledException(string.Empty);\r
+ throw new TaskCanceledException(string.Empty);\r
}\r
\r
try {\r
response = request.GetResponse();\r
} catch (WebException e) {\r
if (cancelCalled) { // キャンセル時\r
- throw new NaGetTaskCanceledException(string.Empty, e);\r
+ throw new TaskCanceledException(string.Empty, e);\r
} else {\r
throw new WebException(e.Message, e);\r
}\r
}\r
\r
if (cancelCalled) {\r
- throw new NaGetTaskCanceledException(string.Empty);\r
+ throw new TaskCanceledException(string.Empty);\r
}\r
\r
try {\r
fs.Write(data, 0, size);\r
\r
if (cancelCalled) {\r
- throw new NaGetTaskCanceledException(string.Empty);\r
+ throw new TaskCanceledException(string.Empty);\r
}\r
}\r
} finally {\r
RaiseDownloadEvent(DownloadEventType.COMPLETED, fs.Position, contentLength);\r
} catch (IOException ex) {\r
if (cancelCalled) {\r
- throw new NaGetTaskCanceledException(string.Empty);\r
+ throw new TaskCanceledException(string.Empty);\r
} else {\r
RaiseDownloadEvent(DownloadEventType.ERROR, 0, 0);\r
throw new IOException(ex.Message, ex);\r
case DownloadEventType.STARTED:\r
case DownloadEventType.DOWNLOADING:\r
case DownloadEventType.COMPLETED:\r
- if (e.TaskProgressPercent >= 0) {\r
- e.TaskMessage = string.Format("{0} bytes ({1} %)", e.DownloadSize, (int) e.TaskProgressPercent);\r
+ if (e.ProgressPercent >= 0) {\r
+ e.TaskMessage = string.Format("{0} bytes ({1} %)", e.DownloadSize, (int) e.ProgressPercent);\r
} else {\r
e.TaskMessage = string.Format("{0} bytes", e.DownloadSize);\r
}\r
\r
if (stopwatch != null && stopwatch.IsRunning && stopwatch.ElapsedMilliseconds > 3000) {\r
long bpers = e.DownloadSize * 1000 / stopwatch.ElapsedMilliseconds;\r
- if ((e.TaskProgressPercent >= 0) && (bpers > 0)) {\r
+ if ((e.ProgressPercent >= 0) && (bpers > 0)) {\r
TimeSpan rest = TimeSpan.FromSeconds((max - e.DownloadSize) / bpers);\r
e.TaskMessage += string.Format(" 推定残り時間:{0} ({1}/s)", rest, NaGet.Utils.FormatSize(bpers));\r
} else {\r
using NaGet.Packages.Install;
using NaGet.Packages;
using NaGet.Net;
+using NaGet.Tasks;
namespace NaGet.SubCommands
{
if (downloader == null) {
downloader = new Downloader();
downloader.DownloadEventRaised += delegate(object sender, DownloadEventArgs e) {
- if (e.Type == DownloadEventType.DOWNLOADING && e.TaskProgressPercent > 0) {
- RaiseTaskSetEvent(NaGetTaskSetEventType.PING, string.Empty, GetProgressPercent(NaGetTaskSetEventType.PING, e.TaskProgressPercent));
+ if (e.Type == DownloadEventType.DOWNLOADING && e.ProgressPercent > 0) {
+ RaiseTaskSetEvent(NaGetTaskSetEventType.PING, string.Empty, GetProgressPercent(NaGetTaskSetEventType.PING, e.ProgressPercent));
}
};
}
if (! inst.Downloaded) {
try {
inst.Download(Downloader);
- } catch (NaGetTaskCanceledException) {
+ } catch (TaskCanceledException) {
RaiseTaskSetEvent(NaGetTaskSetEventType.CANCELED, "インストーラーのダウンロード処理がキャンセルされました");
done = true;
return;
using NaGet.Packages.Install;\r
using NaGet.Packages;\r
using NaGet.Net;\r
+using NaGet.Tasks;\r
\r
namespace NaGet.SubCommands\r
{\r
if (downloader == null) {\r
downloader = new Downloader();\r
downloader.DownloadEventRaised += delegate(object sender, DownloadEventArgs e) {\r
- if (e.Type == DownloadEventType.DOWNLOADING && e.TaskProgressPercent > 0) {\r
- RaiseTaskSetEvent(NaGetTaskSetEventType.PING, string.Empty, GetProgressPercent(NaGetTaskSetEventType.PING, e.TaskProgressPercent));\r
+ if (e.Type == DownloadEventType.DOWNLOADING && e.ProgressPercent > 0) {\r
+ RaiseTaskSetEvent(NaGetTaskSetEventType.PING, string.Empty, GetProgressPercent(NaGetTaskSetEventType.PING, e.ProgressPercent));\r
}\r
};\r
}\r
if (! inst.Downloaded) {\r
try {\r
inst.Download(Downloader);\r
- } catch (NaGetTaskCanceledException) {\r
+ } catch (TaskCanceledException) {\r
RaiseTaskSetEvent(NaGetTaskSetEventType.CANCELED, "インストーラーのダウンロード処理がキャンセルされました");\r
done = true;\r
return;\r
+++ /dev/null
-using System;\r
-\r
-namespace NaGet.SubCommands\r
-{\r
- public class NaGetEventArgs : EventArgs\r
- {\r
- /// <summary>\r
- /// \83^\83X\83N\82Ì\90i\92»\8fó\8bµ\82Ì\95S\95ª\97¦\95\\8e¦\r
- /// </summary>\r
- public float TaskProgressPercent = -1;\r
- \r
- /// <summary>\r
- /// \83^\83X\83N\82Ì\8c»\8bµ\82Ì\83\81\83b\83Z\81[\83W\r
- /// </summary>\r
- public string TaskMessage;\r
- }\r
- \r
- [Serializable()]\r
- public class NaGetTaskCanceledException : Exception\r
- {\r
- public NaGetTaskCanceledException(string msg)\r
- : base(msg)\r
- {\r
- }\r
- \r
- public NaGetTaskCanceledException(string msg, Exception e)\r
- : base(msg, e)\r
- {\r
- }\r
- }\r
- \r
- /// <summary>\r
- /// NaGet\82Ì\83R\83}\83\93\83h\83^\83X\83N\82Ì\8dÅ\8f¬\92P\88Ê\82Ì\90e\83N\83\89\83X\r
- /// </summary>\r
- public abstract class NaGetTask\r
- {\r
- /// <summary>\r
- /// \8eÀ\8ds\82·\82é\r
- /// </summary>\r
- public abstract void Run();\r
- \r
- /// <summary>\r
- /// \8eÀ\8ds\8fó\91Ô\82©\94Û\82©\82ð\93¾\82é\r
- /// </summary>\r
- public abstract bool Running {\r
- get;\r
- }\r
- \r
- /// <summary>\r
- /// \8fI\97¹\82µ\82Ä\82¢\82é\82©\94Û\82©\81B\r
- /// </summary>\r
- public abstract bool Done {\r
- get;\r
- }\r
- \r
- /// <summary>\r
- /// \83L\83\83\83\93\83Z\83\8b\89Â\94\\82©\94Û\82©\82ð\95Ô\82·\r
- /// </summary>\r
- public virtual bool Cancelable {\r
- get { return false; }\r
- }\r
- \r
- /// <summary>\r
- /// \92\86\92f\82³\82¹\82é\r
- /// </summary>\r
- /// <returns>\90¬\8c÷\82µ\82½\82©\82¢\82È\82©</returns>\r
- public virtual bool Cancel()\r
- {\r
- return false;\r
- }\r
- }\r
-}\r
using System;\r
+using NaGet.Tasks;\r
\r
namespace NaGet.SubCommands\r
{\r
#region EventHandler<NaGetTaskSetEventArgs>\8aÖ\98A\r
\r
- public class NaGetTaskSetEventArgs : NaGetEventArgs\r
+ public class NaGetTaskSetEventArgs : TaskEventArgs\r
{\r
public NaGetTaskSetEventType Type;\r
\r
{\r
this.Type = type;\r
this.TaskMessage = message;\r
- this.TaskProgressPercent = processPercent;\r
+ this.ProgressPercent = processPercent;\r
}\r
}\r
\r
/// <summary>\r
/// NaGet\83^\83X\83N\8f\88\97\9d\82Ì\83p\83b\83N\r
/// </summary>\r
- public abstract class NaGetTaskSet : NaGetTask\r
+ public abstract class NaGetTaskSet : Task\r
{\r
/// <summary>\r
/// \83^\83X\83N\8f\88\97\9d\82Ì\83C\83x\83\93\83g\83n\83\93\83h\83\89\r
using NaGet.Packages.Install;\r
using NaGet.Net;\r
using NaGet.SubCommands;\r
+using NaGet.Tasks;\r
\r
namespace NaGet.SubCommands\r
{\r
if (downloader == null) {\r
downloader = new Downloader();\r
downloader.DownloadEventRaised += delegate(object sender, DownloadEventArgs e) {\r
- if (e.Type == DownloadEventType.DOWNLOADING && e.TaskProgressPercent > 0) {\r
- RaiseTaskSetEvent(NaGetTaskSetEventType.PING, string.Empty, GetProgressPercent(NaGetTaskSetEventType.PING, e.TaskProgressPercent));\r
+ if (e.Type == DownloadEventType.DOWNLOADING && e.ProgressPercent > 0) {\r
+ RaiseTaskSetEvent(NaGetTaskSetEventType.PING, string.Empty, GetProgressPercent(NaGetTaskSetEventType.PING, e.ProgressPercent));\r
}\r
};\r
}\r
packageListsDownloaded = false;\r
try {\r
runDownloadPackageLists();\r
- } catch (NaGetTaskCanceledException) {\r
+ } catch (TaskCanceledException) {\r
RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, "リストのダウンロード処理がキャンセルされました");\r
pkgListMan.LoadPackageLists();\r
} catch (System.Net.WebException e) {\r
--- /dev/null
+using System;\r
+\r
+namespace NaGet.Tasks\r
+{\r
+ /// <summary>\r
+ /// NaGet\82Ì\83R\83}\83\93\83h\83^\83X\83N\82Ì\92\8a\8fÛ\83N\83\89\83X\r
+ /// </summary>\r
+ public abstract class Task\r
+ {\r
+ /// <summary>\r
+ /// \8eÀ\8ds\82·\82é\r
+ /// </summary>\r
+ public abstract void Run();\r
+ \r
+ /// <summary>\r
+ /// \8eÀ\8ds\8fó\91Ô\82©\94Û\82©\82ð\93¾\82é\r
+ /// </summary>\r
+ public abstract bool Running {\r
+ get;\r
+ }\r
+ \r
+ /// <summary>\r
+ /// \8fI\97¹\82µ\82Ä\82¢\82é\82©\94Û\82©\81B\r
+ /// </summary>\r
+ public abstract bool Done {\r
+ get;\r
+ }\r
+ \r
+ /// <summary>\r
+ /// \83L\83\83\83\93\83Z\83\8b\89Â\94\\82©\94Û\82©\82ð\95Ô\82·\r
+ /// </summary>\r
+ public virtual bool Cancelable {\r
+ get { return false; }\r
+ }\r
+ \r
+ /// <summary>\r
+ /// \92\86\92f\82³\82¹\82é\r
+ /// </summary>\r
+ /// <returns>\90¬\8c÷\82µ\82½\82©\82¢\82È\82©</returns>\r
+ public virtual bool Cancel()\r
+ {\r
+ return false;\r
+ }\r
+ }\r
+}\r
--- /dev/null
+using System;
+
+namespace NaGet.Tasks
+{
+ [Serializable()]
+ public class TaskCanceledException : Exception
+ {
+ public TaskCanceledException(string msg)
+ : base(msg)
+ {
+ }
+
+ public TaskCanceledException(string msg, Exception e)
+ : base(msg, e)
+ {
+ }
+ }
+}
--- /dev/null
+using System;
+
+namespace NaGet.Tasks
+{
+ public class TaskEventArgs : EventArgs
+ {
+ /// <summary>
+ /// タスクの進捗状況の百分率表示
+ /// </summary>
+ public float ProgressPercent = -1;
+
+ /// <summary>
+ /// タスクの現況のメッセージ
+ /// </summary>
+ public string TaskMessage;
+ }
+}
<Compile Include="NaGet.Packages\VersionComparetor.cs" />\r
<Compile Include="NaGet.SubCommands\NaGetDownloadToCache.cs" />\r
<Compile Include="NaGet.SubCommands\NaGetInstall.cs" />\r
- <Compile Include="NaGet.SubCommands\NaGetTask.cs" />\r
<Compile Include="NaGet.SubCommands\NaGetTaskSet.cs" />\r
<Compile Include="NaGet.SubCommands\NaGetUninstall.cs" />\r
+ <Compile Include="NaGet.Tasks\Task.cs" />\r
+ <Compile Include="NaGet.Tasks\TaskCanceledException.cs" />\r
+ <Compile Include="NaGet.Tasks\TaskEventArgs.cs" />\r
<Compile Include="NaGet\ArgParser.cs" />\r
<Compile Include="NaGet\Env.cs" />\r
<Compile Include="NaGet\NaGetLibPref.cs" />\r