**** Merged from MCS ****
[mono-project.git] / mcs / tools / SqlSharp / gui / gtk-sharp / DbProviderCollection.cs
blob722390bc7d2422dc6fc480ff2a7dbdd5e1829d49
1 //
2 // DbProviderCollection.cs
3 //
4 // Author:
5 // Daniel Morgan <danmorg@sc.rr.com>
6 //
7 // (C)Copyright 2002 by Daniel Morgan
8 //
9 // To be included with Mono as a SQL query tool licensed under the GPL license.
12 namespace Mono.Data.SqlSharp.Gui.GtkSharp
14 using System;
15 using System.Data;
16 using System.Collections;
18 public class DbProviderCollection : MarshalByRefObject, IList, ICollection, IEnumerable
20 #region Fields
22 ArrayList list = new ArrayList ();
24 #endregion // Fields
26 #region Constructors
28 public DbProviderCollection ()
32 #endregion // Constructors
34 #region Properties
36 public DbProvider this[int index] {
37 get {
38 return (DbProvider) list[index];
42 public DbProvider this[string key] {
43 get {
44 DbProvider p = null;
45 foreach(object o in list) {
46 p = (DbProvider) o;
47 if(p.Key.ToUpper().Equals(key.ToUpper())) {
48 return p;
51 throw new Exception("DbProvider not found");
55 object IList.this[int index] {
56 get {
57 return list[index];
60 set {
61 list[index] = value;
65 public int Count {
66 get {
67 return list.Count;
71 public bool IsFixedSize {
72 get {
73 return false;
77 public bool IsReadOnly {
78 get {
79 return true;
83 public bool IsSynchronized {
84 get {
85 return false;
89 public object SyncRoot {
90 get {
91 throw new InvalidOperationException ();
95 #endregion // Properties
97 #region Methods
99 public int Add (object o)
101 return list.Add ((DbProvider) o);
104 public void Clear ()
106 list.Clear ();
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