2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / Microsoft.Web.Services / Microsoft.Web.Services.Security.X509 / X509CertificateCollection.cs
1 //
2 // X509CertificateCollection.cs: Handles certificate collection.
3 // based on: mcs\class\System\System.Security.Cryptography.X509Certificates\X509CertificateCollection.cs
4 //
5 // Authors:
6 //      Lawrence Pit (loz@cable.a2000.nl) -- original work
7 //      Sebastien Pouliot (spouliot@motus.com) -- all modifications and bugs ;-)
8 //
9
10 using System;
11 using System.Collections;
12
13 namespace Microsoft.Web.Services.Security.X509 {
14
15         public class X509CertificateCollection : CollectionBase {
16                 
17                 public X509CertificateCollection () {}
18                 
19                 public X509Certificate this [int index] {
20                         get { 
21                                 // required for exception ?
22                                 if ((index < 0) || (index > InnerList.Count))
23                                         throw new ArgumentOutOfRangeException ("index");
24                                 return (X509Certificate) InnerList [index]; 
25                         }
26                 }
27                 
28                 public int Add (X509Certificate certificate) 
29                 {
30                         if (certificate == null)
31                                 throw new ArgumentNullException ("value");
32                         
33                         return InnerList.Add (certificate);
34                 }
35                 
36                 public bool Contains (X509Certificate certificate) 
37                 {
38                         return InnerList.Contains (certificate);
39                 }
40
41                 public void CopyTo (Array array, int index) 
42                 {
43                         InnerList.CopyTo (array, index);
44                 }
45                 
46                 public int IndexOf (X509Certificate certificate) 
47                 {
48                         return InnerList.IndexOf (certificate);
49                 }
50                 
51                 public void Insert (int index, X509Certificate certificate) 
52                 {
53                         InnerList.Insert (index, certificate);
54                 }
55                 
56                 public void Remove (X509Certificate certificate) 
57                 {
58                         InnerList.Remove (certificate);
59                 }
60         }
61 }