OSDN Git Service

na-get-lib,新構造タスクのキャンセル処理を修正。
[applistation/AppliStation.git] / na-get-lib / NaGet.Packages / PackageCollectionFileData.cs
index 05a2595..4fcefa0 100644 (file)
@@ -18,7 +18,7 @@ namespace NaGet.Packages
                /// パッケージ名をリストに入れる\r
                /// </summary>\r
                /// <param name="pkgs">パッケージ情報</param>\r
-               public void loadPackages(IEnumerable<NaGet.Packages.Install.InstalledPackage> pkgs)\r
+               public void loadPackages<T>(IEnumerable<T> pkgs) where T : Package\r
                {\r
                        foreach (Package pkg in pkgs) {\r
                                if (this.IndexOf(pkg.Name) < 0) {\r
@@ -28,6 +28,20 @@ namespace NaGet.Packages
                }\r
                \r
                /// <summary>\r
+               /// パッケージ名をリストに入れる\r
+               /// </summary>\r
+               /// <param name="pkgs">パッケージ情報</param>\r
+               public void loadPackages<T>(IEnumerator<T> e) where T : Package\r
+               {\r
+                       while(e.MoveNext()) {\r
+                               T pkg = e.Current;\r
+                               if (this.IndexOf(pkg.Name) < 0) {\r
+                                       this.Add(pkg.Name);\r
+                               }\r
+                       }\r
+               }\r
+               \r
+               /// <summary>\r
                /// このリストからパッケージのリストを得る\r
                /// </summary>\r
                /// <returns>パッケージのリスト</returns>\r
@@ -40,7 +54,7 @@ namespace NaGet.Packages
                                Package pkg = pkgMan.availablePkgList.GetPackageForName(pkgName);\r
                                if (pkg != null) {\r
                                        if ((pkgMan.installedPkgList.GetPackageForName(pkgName) == null)\r
-                                          || (pkgMan.systemInstalledPkgList.GetPackageForName(pkgName) == null)) {\r
+                                          && (pkgMan.systemInstalledPkgList.GetPackageForName(pkgName) == null)) {\r
                                                pkgs.Add(pkg);\r
                                        } else {\r
                                                // すでにインストールされている場合は何もしない\r