OSDN Git Service

AppliStation-All,キャッシュへのダウンロード処理を新方式(NaGetDownloadToCache2)に変更。
[applistation/AppliStation.git] / all-get / Main.cs
index bc608b2..d34737a 100644 (file)
@@ -119,6 +119,31 @@ namespace AllGet
                                }\r
                        }\r
                }\r
+               \r
+               public static NaGetTaskQueryResult OnTaskQueryEvent(object sender, NaGetTaskQueryArgs e)\r
+               {\r
+                       char result = '\u0000';\r
+                       if (e.SelectionFlag == (NaGetTaskQueryResult.CONTINUE | NaGetTaskQueryResult.RETRY | NaGetTaskQueryResult.CANCEL)) {\r
+                               result = AllGet.Util.Query(e.Message + " [y/R/n]?", "yrn", 'r');\r
+                       } else if (e.SelectionFlag == (NaGetTaskQueryResult.RETRY | NaGetTaskQueryResult.CANCEL)) {\r
+                               result = AllGet.Util.Query(e.Message + " [R/n]?", "rn", 'r');\r
+                       } else if (e.SelectionFlag == NaGetTaskQueryResult.CONTINUE) {\r
+                               result = AllGet.Util.Query(e.Message + " [Y]?", "y", 'y');\r
+                       } else {\r
+                               result = AllGet.Util.Query(e.Message + " [Y/n]?", "yn", 'y');\r
+                       }\r
+                       \r
+                       switch (result) {\r
+                               case 'y':\r
+                                       return NaGetTaskQueryResult.CONTINUE;\r
+                               case 'n':\r
+                                       return NaGetTaskQueryResult.CANCEL;\r
+                               case 'r':\r
+                                       return NaGetTaskQueryResult.RETRY;\r
+                               default:\r
+                                       return NaGetTaskQueryResult.CANCELED_AUTOMATICALLY;\r
+                       }\r
+               }\r
        }\r
        \r
        \r
@@ -223,6 +248,7 @@ namespace AllGet
                        }\r
                }\r
                \r
+               \r
                public void Download(string[] packagenames)\r
                {\r
                        Installation[] installations = null;\r
@@ -253,54 +279,10 @@ namespace AllGet
                                Environment.Exit(0);\r
                        }\r
                        \r
-                       NaGet.SubCommands.NaGetDownloadToCache tasks = new NaGet.SubCommands.NaGetDownloadToCache(pkgListMan, installations);\r
-                       tasks.TaskQueryRaised += delegate(object sender, NaGetTaskQueryArgs e) {\r
-                               char result = '\u0000';\r
-                               if (e.SelectionFlag == (NaGetTaskQueryResult.CONTINUE | NaGetTaskQueryResult.RETRY | NaGetTaskQueryResult.CANCEL)) {\r
-                                       result = AllGet.Util.Query(e.Message + " [y/R/n]?", "yrn", 'r');\r
-                               } else if (e.SelectionFlag == (NaGetTaskQueryResult.RETRY | NaGetTaskQueryResult.CANCEL)) {\r
-                                       result = AllGet.Util.Query(e.Message + " [R/n]?", "rn", 'r');\r
-                               } else if (e.SelectionFlag == NaGetTaskQueryResult.CONTINUE) {\r
-                                       result = AllGet.Util.Query(e.Message + " [Y]?", "y", 'y');\r
-                               } else {\r
-                                       result = AllGet.Util.Query(e.Message + " [Y/n]?", "yn", 'y');\r
-                               }\r
-                               \r
-                               switch (result) {\r
-                                       case 'y':\r
-                                               return NaGetTaskQueryResult.CONTINUE;\r
-                                       case 'n':\r
-                                               return NaGetTaskQueryResult.CANCEL;\r
-                                       case 'r':\r
-                                               return NaGetTaskQueryResult.RETRY;\r
-                                       default:\r
-                                               return NaGetTaskQueryResult.CANCELED_AUTOMATICALLY;\r
-                               }\r
-                       };\r
-                       tasks.TaskEventRaised += delegate(object sender, TaskEventArgs e) { \r
-                               switch (e.Type) {\r
-//                                     case NaGetTaskSetEventType.COMPLETED_TASKSET\r
-//                                             break;\r
-                                       case TaskEventType.COMPLETED:\r
-                                               Console.WriteLine("Done.");\r
-                                               break;\r
-                                       case TaskEventType.STARTED_SUBTASK:\r
-                                               Console.Write("  " + e.TaskMessage);\r
-                                               break;\r
-                                       case TaskEventType.COMPLETED_SUBTASK:\r
-                                               Console.WriteLine(" ... Done. [{0}%]", (int) e.ProgressPercent);\r
-                                               break;\r
-                                       case TaskEventType.INFO:\r
-                                               Console.WriteLine("  " + e.TaskMessage);\r
-                                               break;\r
-                                       case TaskEventType.ERROR:\r
-                                       case TaskEventType.WARNING:\r
-                                               Console.WriteLine("  [Error] " + e.TaskMessage);\r
-                                               break;\r
-                               }\r
-                       };\r
-                       DownloadListener dl = new DownloadListener();\r
-                       tasks.Downloader.DownloadEventRaised += dl.OnDownload;\r
+                       NaGet.SubCommands.NaGetDownloadToCache2 tasks = new NaGet.SubCommands.NaGetDownloadToCache2(pkgListMan, installations);\r
+                       tasks.TaskEventRaised += TaskSetEventHandlers.OnTaskSetEvent;\r
+                       tasks.SubTaskEventRaised += TaskSetEventHandlers.OnDownloadSubTaskEvent;\r
+                       tasks.TaskQueryRaised += TaskSetEventHandlers.OnTaskQueryEvent;\r
                        \r
                        tasks.Run();\r
                }\r