OSDN Git Service

3b8feb2b17b68021fdec03efa108c01338d25f40
[applistation/AppliStation.git] / na-get-lib / NaGet.Tasks / Task.cs
1 using System;\r
2 \r
3 namespace NaGet.Tasks\r
4 {\r
5         /// <summary>\r
6         /// NaGetのコマンドタスクの抽象クラス\r
7         /// </summary>\r
8         public abstract class Task\r
9         {\r
10                 /// <summary>\r
11                 /// タスク処理のイベントハンドラ\r
12                 /// </summary>\r
13                 public virtual event EventHandler<TaskEventArgs> TaskEventRaised;\r
14                 \r
15                 /// <summary>\r
16                 /// 実行する\r
17                 /// </summary>\r
18                 public abstract void Run();\r
19                 \r
20                 /// <summary>\r
21                 /// 実行状態か否かを得る\r
22                 /// </summary>\r
23                 public abstract bool Running {\r
24                         get;\r
25                 }\r
26                 \r
27                 /// <summary>\r
28                 /// 終了しているか否か。\r
29                 /// </summary>\r
30                 public abstract bool Done {\r
31                         get;\r
32                 }\r
33                 \r
34                 /// <summary>\r
35                 /// キャンセル可能か否かを返す\r
36                 /// </summary>\r
37                 public virtual bool Cancelable {\r
38                         get { return false; }\r
39                 }\r
40                 \r
41                 /// <summary>\r
42                 /// 中断させる\r
43                 /// </summary>\r
44                 /// <returns>成功したかいなか</returns>\r
45                 public virtual bool Cancel()\r
46                 {\r
47                         return false;\r
48                 }\r
49                 \r
50                 #region TaskEvent便利メソッド\r
51                                 \r
52                 protected virtual void RaiseTaskSetEvent(TaskEventType type, string message, float percent)\r
53                 {\r
54                         if (TaskEventRaised != null) {\r
55                                 TaskEventRaised(this, new TaskEventArgs(type, message, percent));\r
56                         }\r
57                 }\r
58                 \r
59                 #endregion\r
60         }\r
61 }\r