2 * Namespace: System.Web
\r
3 * Class: EnumCheckAssembly
\r
5 * Author: Gaurav Vaish
\r
6 * Contact: <gvaish@iitk.ac.in>
\r
9 * (C) Gaurav Vaish (2002)
\r
15 using System.Collections;
\r
16 using System.Reflection;
\r
18 namespace Mono.Enumerations
\r
20 public class EnumCheckAssemblyCollection: IEnumerable
\r
22 public string ConfigFile = "assemblies.xml";
\r
24 private ArrayList assemblyList = new ArrayList();
\r
26 public EnumCheckAssemblyCollection()
\r
34 XmlDocument document;
\r
37 fStream = new FileStream(ConfigFile, FileMode.Open, FileAccess.Read, FileShare.Read);
\r
38 reader = new XmlTextReader(fStream);
\r
39 document = new XmlDocument();
\r
40 document.Load(reader);
\r
41 if(document.DocumentElement != null)
\r
43 if(document.DocumentElement.LocalName == "assemblies")
\r
45 foreach(XmlNode pathNode in document.DocumentElement)
\r
47 if(pathNode.NodeType == XmlNodeType.Element && pathNode.LocalName=="path")
\r
49 url = pathNode.Attributes["url"].Value;
\r
50 while(url.EndsWith("\\") || url.EndsWith("/"))
\r
52 url = url.Substring(0, url.Length - 1);
\r
54 if(url == null || url.Length == 0)
\r
58 foreach(XmlNode assemblyNode in pathNode.ChildNodes)
\r
60 if(assemblyNode.LocalName == "assembly")
\r
62 assemblyList.Add(url + "\\" + assemblyNode.Attributes["file"].Value);
\r
72 public IEnumerator GetEnumerator()
\r
74 return assemblyList.GetEnumerator();
\r