2 // DbProviderCollection.cs
5 // Daniel Morgan <danmorg@sc.rr.com>
7 // (C)Copyright 2002 by Daniel Morgan
9 // To be included with Mono as a SQL query tool licensed under the GPL license.
12 namespace Mono.Data.SqlSharp.Gui.GtkSharp
16 using System.Collections;
18 public class DbProviderCollection : MarshalByRefObject, IList, ICollection, IEnumerable
22 ArrayList list = new ArrayList ();
28 public DbProviderCollection ()
32 #endregion // Constructors
36 public DbProvider this[int index] {
38 return (DbProvider) list[index];
42 public DbProvider this[string key] {
45 foreach(object o in list) {
47 if(p.Key.ToUpper().Equals(key.ToUpper())) {
51 throw new Exception("DbProvider not found");
55 object IList.this[int index] {
71 public bool IsFixedSize {
77 public bool IsReadOnly {
83 public bool IsSynchronized {
89 public object SyncRoot {
91 throw new InvalidOperationException ();
95 #endregion // Properties
99 public int Add (object o)
101 return list.Add ((DbProvider) o);
109 public bool Contains (object o)
111 return list.Contains ((DbProvider) o);
114 public void CopyTo (Array array, int index)
116 list.CopyTo (array, index);
119 public IEnumerator GetEnumerator ()
121 return list.GetEnumerator ();
124 public int IndexOf (object o)
126 return list.IndexOf ((DbProvider) o);
129 public void Insert (int index, object o)
131 list.Insert (index, (DbProvider) o);
134 public void Remove (object o)
136 list.Remove ((DbProvider) o);
139 public void RemoveAt (int index)
141 list.RemoveAt (index);
144 #endregion // Methods