OSDN Git Service

na-get-lib,新構造タスクのキャンセル処理を修正。
[applistation/AppliStation.git] / na-get-lib / NaGet.Packages / RepositoriesList.cs
1 using System;\r
2 using System.ComponentModel;\r
3 using System.Xml.Serialization;\r
4 using System.Collections.Generic;\r
5 \r
6 namespace NaGet.Packages\r
7 {\r
8         /// <summary>\r
9         /// レポジトリのリストを表現するクラス\r
10         /// </summary>\r
11         public class RepositoriesList\r
12         {\r
13                 /// <summary>\r
14                 /// レポジトリの配列\r
15                 /// </summary>\r
16                 public RepositoryInfo[] Repositories = null;\r
17                 \r
18                 /// <summary>\r
19                 /// デフォルトコンストラクタ\r
20                 /// </summary>\r
21                 public RepositoriesList()\r
22                 {\r
23                 }\r
24                 \r
25                 /// <summary>\r
26                 /// 有効なレポジトリの配列を返す\r
27                 /// </summary>\r
28                 [XmlIgnore]\r
29                 public IEnumerable<RepositoryInfo> EnabledRepositories {\r
30                         get {\r
31                                 foreach (RepositoryInfo repo in Repositories) {\r
32                                         if (repo.Enabled) {\r
33                                                 yield return repo;\r
34                                         }\r
35                                 }\r
36                         }\r
37                 }\r
38         }\r
39         \r
40         /// <summary>\r
41         /// レポジトリで提供されるソフトリストのフォーマットを返す\r
42         /// </summary>\r
43         public enum RepositoryType : uint\r
44         {\r
45                 /// <summary>\r
46                 /// AppliStation Native XML Format Version 1.0\r
47                 /// </summary>\r
48                 [XmlEnum(Name="ASNATIVEv1.0")]\r
49                 APPLISTATION_NATIVE_XML_1_0 = 0,\r
50         }\r
51         \r
52         /// <summary>\r
53         /// パッケージリストを提供するレポジトリの参照情報を格納するクラス\r
54         /// </summary>\r
55         public class RepositoryInfo\r
56         {\r
57                 /// <summary>\r
58                 /// レポジトリの提供するソフトリストの名称\r
59                 /// </summary>\r
60                 [XmlAttribute]\r
61                 [ReadOnly(true)]\r
62                 public string Name;\r
63                 \r
64                 /// <summary>\r
65                 /// ソフトリストの形式\r
66                 /// </summary>\r
67                 [XmlAttribute]\r
68                 public RepositoryType Type;\r
69                 \r
70                 /// <summary>\r
71                 /// ソフトリストの取得先URL\r
72                 /// </summary>\r
73                 public LocationEntry Url;\r
74                 \r
75                 /// <summary>\r
76                 /// ソフトリストを読み取るか否か(無視するか否か)のフラグ。\r
77                 /// </summary>\r
78                 [XmlAttribute]\r
79                 [DefaultValue(true)]\r
80                 public bool Enabled = true;\r
81         }\r
82 }\r