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 IEnumerable<RepositoryInfo> EnabledRepositories {
\r
31 foreach (RepositoryInfo repo in Repositories) {
\r
40 /// provider.list.txtから変換してRepositoriesListとして返す
\r
42 /// <param name="path">変換もとのprovider.list.txtのパス</param>
\r
43 /// <returns>変換されたRepositoriesList</returns>
\r
44 public static RepositoriesList MigrateFromProviderListTxt(string path)
\r
46 List<RepositoryInfo> repos = new List<RepositoryInfo>();
\r
47 using(System.IO.StreamReader reader = new System.IO.StreamReader(path)) {
\r
49 while ((line = reader.ReadLine()) != null) {
\r
50 RepositoryInfo repo = new RepositoryInfo();
\r
51 repo.Enabled = true;
\r
52 repo.Url = new LocationEntry(line);
\r
53 repo.Name = string.Empty;
\r
58 RepositoriesList repolist = new RepositoriesList();
\r
59 repolist.Repositories = repos.ToArray();
\r
65 /// レポジトリで提供されるソフトリストのフォーマットを返す
\r
67 public enum RepositoryType : uint
\r
70 /// AppliStation Native XML Format Version 1.0
\r
72 [XmlEnum(Name="ASNATIVEv1.0")]
\r
73 APPLISTATION_NATIVE_XML_1_0 = 0,
\r
77 /// パッケージリストを提供するレポジトリの参照情報を格納するクラス
\r
79 public class RepositoryInfo
\r
82 /// レポジトリの提供するソフトリストの名称
\r
92 public RepositoryType Type;
\r
97 public LocationEntry Url;
\r
100 /// ソフトリストを読み取るか否か(無視するか否か)のフラグ。
\r
103 [DefaultValue(true)]
\r
104 public bool Enabled = true;
\r