2004-03-26 Sebastien Pouliot <sebastien@ximian.com>
[mono.git] / mcs / class / System.Security / System.Security.Cryptography.Xml / XmlDsigNodeList.cs
1 //\r
2 // XmlDsigNodeList.cs - derived node list class for dsig\r
3 //\r
4 // Author:\r
5 //      Atsushi Enomoto <atsushi@ximian.com>\r
6 //\r
7 // (C)2004 Novell Inc.\r
8 //\r
9 // This class is mostly copied from System.Xml/XmlNodeArrayList.cs\r
10 //\r
11 \r
12 using System;\r
13 using System.Collections;\r
14 using System.Xml;\r
15 \r
16 namespace System.Security.Cryptography.Xml\r
17 {\r
18         // Copied from XmlNodeArrayList.cs\r
19         internal class XmlDsigNodeList : XmlNodeList\r
20         {\r
21                 ArrayList _rgNodes;\r
22 \r
23                 public XmlDsigNodeList (ArrayList rgNodes)\r
24                 {\r
25                         _rgNodes = rgNodes;\r
26                 }\r
27 \r
28                 public override int Count { get { return _rgNodes.Count; } }\r
29 \r
30                 public override IEnumerator GetEnumerator ()\r
31                 {\r
32                         return _rgNodes.GetEnumerator ();\r
33                 }\r
34 \r
35                 public override XmlNode Item (int index)\r
36                 {\r
37                         // Return null if index is out of range. by  DOM design.\r
38                         if (index < 0 || _rgNodes.Count <= index)\r
39                                 return null;\r
40 \r
41                         return (XmlNode) _rgNodes [index];\r
42                 }\r
43         }\r
44 }\r