103
106
public string Author {
104
get { return author; }
108
string s = Properties.GetPropertyValue ("Author");
105
113
set { author = value; }
108
116
public string Copyright {
109
get { return copyright; }
118
string s = Properties.GetPropertyValue ("Copyright");
110
123
set { copyright = value; }
113
126
public string Url {
128
string s = Properties.GetPropertyValue ("Url");
115
133
set { url = value; }
118
136
public string Description {
119
get { return description; }
138
string s = Properties.GetPropertyValue ("Description");
120
143
set { description = value; }
123
146
public string Category {
124
get { return category; }
148
string s = Properties.GetPropertyValue ("Category");
125
153
set { category = value; }
130
158
set { defaultEnabled = value; }
133
[XmlArrayItem ("AddinDependency", typeof(AddinDependency))]
134
[XmlArrayItem ("AssemblyDependency", typeof(AssemblyDependency))]
135
161
public DependencyCollection Dependencies {
136
162
get { return dependencies; }
139
[XmlArrayItem ("AddinDependency", typeof(AddinDependency))]
140
[XmlArrayItem ("AssemblyDependency", typeof(AssemblyDependency))]
141
165
public DependencyCollection OptionalDependencies {
142
166
get { return optionalDependencies; }
145
public static AddinInfo ReadFromAddinFile (StreamReader r)
147
XmlDocument doc = new XmlDocument ();
151
AddinInfo info = new AddinInfo ();
152
info.id = doc.DocumentElement.GetAttribute ("id");
153
info.namspace = doc.DocumentElement.GetAttribute ("namespace");
154
info.name = doc.DocumentElement.GetAttribute ("name");
155
if (info.id == "") info.id = info.name;
156
info.version = doc.DocumentElement.GetAttribute ("version");
157
info.author = doc.DocumentElement.GetAttribute ("author");
158
info.copyright = doc.DocumentElement.GetAttribute ("copyright");
159
info.url = doc.DocumentElement.GetAttribute ("url");
160
info.description = doc.DocumentElement.GetAttribute ("description");
161
info.category = doc.DocumentElement.GetAttribute ("category");
162
info.baseVersion = doc.DocumentElement.GetAttribute ("compatVersion");
164
string s = doc.DocumentElement.GetAttribute ("defaultEnabled");
165
info.defaultEnabled = s.Length == 0 || s == "true" || s == "yes";
167
s = doc.DocumentElement.GetAttribute ("isRoot");
168
if (s.Length == 0) s = doc.DocumentElement.GetAttribute ("isroot");
169
info.isroot = s == "true" || s == "yes";
171
ReadDependencies (info.Dependencies, info.OptionalDependencies, doc.DocumentElement);
176
static void ReadDependencies (DependencyCollection deps, DependencyCollection opDeps, XmlElement elem)
178
foreach (XmlElement dep in elem.SelectNodes ("Dependencies/Addin")) {
179
AddinDependency adep = new AddinDependency ();
180
adep.AddinId = dep.GetAttribute ("id");
181
string v = dep.GetAttribute ("version");
187
foreach (XmlElement dep in elem.SelectNodes ("Dependencies/Assembly")) {
188
AssemblyDependency adep = new AssemblyDependency ();
189
adep.FullName = dep.GetAttribute ("name");
190
adep.Package = dep.GetAttribute ("package");
194
foreach (XmlElement mod in elem.SelectNodes ("Module"))
195
ReadDependencies (opDeps, opDeps, mod);
169
public AddinPropertyCollection Properties {
170
get { return properties; }
198
173
internal static AddinInfo ReadFromDescription (AddinDescription description)