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;
}
}
}