using System; namespace NaGet.SubCommands { public class NaGetEventArgs : EventArgs { /// /// タスクの進捗状況の百分率表示 /// public float TaskProgressPercent = -1; /// /// タスクの現況のメッセージ /// public string TaskMessage; } public class NaGetTaskCanceledException : Exception { public NaGetTaskCanceledException(string msg) : base(msg) { } public NaGetTaskCanceledException(string msg, Exception e) : base(msg, e) { } } /// /// NaGetのコマンドタスクの最小単位の親クラス /// public abstract class NaGetTask { /// /// 実行する /// public abstract void Run(); /// /// 実行状態か否かを得る /// public abstract bool Running { get; } /// /// 終了しているか否か。 /// public abstract bool Done { get; } /// /// キャンセル可能か否かを返す /// public virtual bool Cancelable { get { return false; } } /// /// 中断させる /// /// 成功したかいなか public virtual bool Cancel() { return false; } } }