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