[runtime] Remove handler block trampoline code
[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
12 //
13 // Permission is hereby granted, free of charge, to any person obtaining
14 // a copy of this software and associated documentation files (the
15 // "Software"), to deal in the Software without restriction, including
16 // without limitation the rights to use, copy, modify, merge, publish,
17 // distribute, sublicense, and/or sell copies of the Software, and to
18 // permit persons to whom the Software is furnished to do so, subject to
19 // the following conditions:
20 // 
21 // The above copyright notice and this permission notice shall be
22 // included in all copies or substantial portions of the Software.
23 // 
24 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
28 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
29 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
30 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 //
32 \r
33 using System;\r
34 using System.Collections;\r
35 using System.Xml;\r
36 \r
37 namespace System.Security.Cryptography.Xml\r
38 {\r
39         // Copied from XmlNodeArrayList.cs\r
40         internal class XmlDsigNodeList : XmlNodeList\r
41         {\r
42                 ArrayList _rgNodes;\r
43 \r
44                 public XmlDsigNodeList (ArrayList rgNodes)\r
45                 {\r
46                         _rgNodes = rgNodes;\r
47                 }\r
48 \r
49                 public override int Count { get { return _rgNodes.Count; } }\r
50 \r
51                 public override IEnumerator GetEnumerator ()\r
52                 {\r
53                         return _rgNodes.GetEnumerator ();\r
54                 }\r
55 \r
56                 public override XmlNode Item (int index)\r
57                 {\r
58                         // Return null if index is out of range. by  DOM design.\r
59                         if (index < 0 || _rgNodes.Count <= index)\r
60                                 return null;\r
61 \r
62                         return (XmlNode) _rgNodes [index];\r
63                 }\r
64         }\r
65 }\r