using System;
namespace NaGet.Tasks
{
///
/// タスクイベントの種類
///
public enum TaskEventType
{
///
/// 動作進捗・通知のみ
///
PING,
///
/// 開始
///
STARTED,
///
/// 完了した(すべてを完了)
///
COMPLETED,
///
/// 作業がキャンセルされた
///
CANCELED,
///
/// エラーを発生し(中断した)
///
ERROR,
///
/// エラーが発生したが継続
///
WARNING,
///
/// そのほかの情報
///
INFO,
///
/// 子作業を開始
///
STARTED_SUBTASK,
///
/// 子作業を終了
///
COMPLETED_SUBTASK,
}
///
/// タスクのイベント
///
public class TaskEventArgs : EventArgs
{
///
/// タスクイベントの種類
///
public TaskEventType Type = TaskEventType.PING;
///
/// タスクの進捗状況の百分率表示
///
public float ProgressPercent = -1;
///
/// タスクの現況のメッセージ
///
public string TaskMessage;
///
/// コンストラクタ
///
public TaskEventArgs()
: this(TaskEventType.PING, null, -1)
{
}
///
/// コンストラクタ
///
public TaskEventArgs(TaskEventType type, string message, float percent)
{
this.Type = type;
this.TaskMessage = message;
this.ProgressPercent = percent;
}
}
}