2 using System.ComponentModel;
\r
3 using System.Xml.Serialization;
\r
4 using System.Collections.Generic;
\r
6 namespace NaGet.Packages
\r
9 /// レポジトリのリストを表現するクラス
\r
11 public class RepositoriesList
\r
16 public RepositoryInfo[] Repositories = null;
\r
21 public RepositoriesList()
\r
29 public RepositoryInfo[] EnabledRepositories {
\r
31 return Array.FindAll(Repositories, delegate(RepositoryInfo repo) {
\r
32 return repo.Enabled;
\r
38 /// provider.list.txtから変換してRepositoriesListとして返す
\r
40 /// <param name="path">変換もとのprovider.list.txtのパス</param>
\r
41 /// <returns>変換されたRepositoriesList</returns>
\r
42 public static RepositoriesList MigrateFromProviderListTxt(string path)
\r
44 List<RepositoryInfo> repos = new List<RepositoryInfo>();
\r
45 using(System.IO.StreamReader reader = new System.IO.StreamReader(path)) {
\r
47 while ((line = reader.ReadLine()) != null) {
\r
48 RepositoryInfo repo = new RepositoryInfo();
\r
49 repo.Enabled = true;
\r
50 repo.Url = new LocationEntry(line);
\r
51 repo.Name = string.Empty;
\r
56 RepositoriesList repolist = new RepositoriesList();
\r
57 repolist.Repositories = repos.ToArray();
\r
63 /// レポジトリで提供されるソフトリストのフォーマットを返す
\r
65 public enum RepositoryType : uint
\r
68 /// AppliStation Native XML Format Version 1.0
\r
70 [XmlEnum(Name="ASNATIVEv1.0")]
\r
71 APPLISTATION_NATIVE_XML_1_0 = 0,
\r
75 /// パッケージリストを提供するレポジトリの参照情報を格納するクラス
\r
77 public class RepositoryInfo
\r
80 /// レポジトリの提供するソフトリストの名称
\r
90 public RepositoryType Type;
\r
95 public LocationEntry Url;
\r
98 /// ソフトリストを読み取るか否か(無視するか否か)のフラグ。
\r
101 [DefaultValue(true)]
\r
102 public bool Enabled = true;
\r