2 using System.Xml.Serialization;
\r
3 using System.Collections.Generic;
\r
5 namespace NaGet.Packages
\r
8 /// レポジトリのリストを表現するクラス
\r
10 public class RepositoriesList
\r
15 public RepositoryInfo[] Repositories = null;
\r
20 public RepositoriesList()
\r
28 public RepositoryInfo[] EnabledRepositories {
\r
30 return Array.FindAll(Repositories, delegate(RepositoryInfo repo) {
\r
31 return repo.Enabled;
\r
37 /// provider.list.txtから変換してRepositoriesListとして返す
\r
39 /// <param name="path">変換もとのprovider.list.txtのパス</param>
\r
40 /// <returns>変換されたRepositoriesList</returns>
\r
41 public static RepositoriesList MigrateFromProviderListTxt(string path)
\r
43 List<RepositoryInfo> repos = new List<RepositoryInfo>();
\r
44 using(System.IO.StreamReader reader = new System.IO.StreamReader(path)) {
\r
46 while ((line = reader.ReadLine()) != null) {
\r
47 RepositoryInfo repo = new RepositoryInfo();
\r
48 repo.Enabled = true;
\r
49 repo.Url = new LocationEntry(line);
\r
50 repo.Name = string.Empty;
\r
55 RepositoriesList repolist = new RepositoriesList();
\r
56 repolist.Repositories = repos.ToArray();
\r
62 /// パッケージリストを提供するレポジトリの参照情報を格納するクラス
\r
64 public sealed class RepositoryInfo
\r
67 /// レポジトリの提供するソフトリストの名称
\r
75 public LocationEntry Url;
\r
78 /// ソフトリストを読み取るか否か(無視するか否か)のフラグ。
\r
81 public bool Enabled = true;
\r