using System;\r
+using NaGet.Tasks;\r
\r
namespace NaGet.SubCommands\r
{\r
- public class NaGetTaskSetEventArgs : NaGetEventArgs\r
+ #region EventHandler<NaGetTaskSetEventArgs>\8aÖ\98A\r
+ \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
COMPLETED_TASKSET,\r
/// <summary>\r
- /// \8e¿\96â\r
+ /// \93®\8dì\90i\92»\81E\92Ê\92m\82Ì\82Ý\r
+ /// </summary>\r
+ PING,\r
+ }\r
+ \r
+ #endregion\r
+ \r
+ #region NaGetTaskQueryHandler\8aÖ\98A\r
+ \r
+ public delegate NaGetTaskQueryResult NaGetTaskQueryHandler(object sender, NaGetTaskQueryArgs e);\r
+ \r
+ public class NaGetTaskQueryArgs\r
+ {\r
+ /// <summary>\r
+ /// \83^\83X\83N\82Ì\8c»\8bµ\82Ì\83\81\83b\83Z\81[\83W\r
/// </summary>\r
- QUERY,\r
+ public string Message;\r
+ \r
/// <summary>\r
- /// \8cx\8d\90\82ð\8aÜ\82Þ\8e¿\96â\r
+ /// \89ñ\93\9a\82Ì\8eí\97Þ\82Ì\83t\83\89\83O\r
/// </summary>\r
- WARNING_QUERY,\r
+ public NaGetTaskQueryResult SelectionFlag;\r
+ \r
+ public NaGetTaskQueryArgs(string message, NaGetTaskQueryResult selectionFlag)\r
+ {\r
+ this.Message = message;\r
+ this.SelectionFlag = selectionFlag;\r
+ }\r
}\r
\r
/// <summary>\r
/// \8e¿\96â\82Ì\93\9a\82¦\r
/// </summary>\r
- public enum NaGetTaskQueryResult\r
+ [Flags()]\r
+ public enum NaGetTaskQueryResult : uint\r
{\r
- CONTINUE,\r
- RETRY,\r
- CANCEL,\r
- CANCELED_AUTOMATICALLY,\r
+ /// <summary>\r
+ /// \8cp\91±(=OK)\r
+ /// </summary>\r
+ CONTINUE = 0x01,\r
+ /// <summary>\r
+ /// \8dÄ\8e\8e\8ds\r
+ /// </summary>\r
+ RETRY = 0x02,\r
+ /// <summary>\r
+ /// \83L\83\83\83\93\83Z\83\8b\81A\92\86\8e~\r
+ /// </summary>\r
+ CANCEL = 0x04,\r
+ /// <summary>\r
+ /// \8e©\93®\93I\82È\83L\83\83\83\93\83Z\83\8b(\83\86\81[\83U\82Ì\8eè\82Å\82Í\82È\82¢\82à\82Ì)\r
+ /// </summary>\r
+ CANCELED_AUTOMATICALLY = 0x00,\r
}\r
\r
- public delegate NaGetTaskQueryResult NaGetTaskQueryHandler(object sender, NaGetTaskSetEventArgs e);\r
+ \r
+ #endregion\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
get;\r
}\r
\r
+ /// <summary>\r
+ /// \8c»\8dÝ\82Ì\90i\92»\82ð\96ß\82·\81B\r
+ /// </summary>\r
+ /// <param name="type">\8dì\8bÆ\82Ì\8fó\91Ô</param>\r
+ /// <param name="subTaskProgress">\83T\83u\83^\83X\83N\82Ì\90i\92»</param>\r
+ /// <returns>\8c»\8dÝ\82Ì\90i\92»</returns>\r
+ protected virtual float GetProgressPercent(NaGetTaskSetEventType type, float subTaskProgress)\r
+ {\r
+ if (CurrentTaskSetIndex >= 0) {\r
+ if (subTaskProgress >= 0) {\r
+ return (CurrentTaskSetIndex * 100 + subTaskProgress) / TaskSetNames.Length;\r
+ }\r
+ switch (type) {\r
+ case NaGetTaskSetEventType.STARTED:\r
+ return 0;\r
+ case NaGetTaskSetEventType.COMPLETED:\r
+ return 100;\r
+ case NaGetTaskSetEventType.COMPLETED_TASKSET:\r
+ return ((CurrentTaskSetIndex+1) * 100) / TaskSetNames.Length;\r
+ default:\r
+ return (CurrentTaskSetIndex * 100) / TaskSetNames.Length;\r
+ }\r
+ }\r
+ \r
+ return -1;\r
+ }\r
+ \r
protected virtual void RaiseTaskSetEvent(NaGetTaskSetEventType type, string message)\r
{\r
- float percent = (CurrentTaskSetIndex >= 0)? CurrentTaskSetIndex * 100 / TaskSetNames.Length : -1;\r
- RaiseTaskSetEvent(type, message, percent);\r
+ RaiseTaskSetEvent(type, message, GetProgressPercent(type, -1));\r
}\r
\r
protected virtual void RaiseTaskSetEvent(NaGetTaskSetEventType type, string message, float percent)\r
}\r
}\r
\r
- protected virtual NaGetTaskQueryResult RaiseTaskSetQueryEvent(NaGetTaskSetEventType type, string message)\r
- {\r
- float percent = (CurrentTaskSetIndex >= 0)? CurrentTaskSetIndex * 100 / TaskSetNames.Length : -1;\r
- return RaiseTaskSetQueryEvent(type, message, percent);\r
- }\r
- \r
- protected virtual NaGetTaskQueryResult RaiseTaskSetQueryEvent(NaGetTaskSetEventType type, string message, float percent)\r
+ protected virtual NaGetTaskQueryResult RaiseTaskSetQueryEvent(string message, NaGetTaskQueryResult selection)\r
{\r
if (TaskQueryRaised != null) {\r
- return TaskQueryRaised(this, new NaGetTaskSetEventArgs(type, message, percent));\r
+ return TaskQueryRaised(this, new NaGetTaskQueryArgs(message, selection));\r
}\r
return NaGetTaskQueryResult.CANCELED_AUTOMATICALLY;\r
}\r