2002-10-26 Piers Haken <piersh@friskit.com>
[mono.git] / mcs / class / Mono.Data.PostgreSqlClient / PgSqlErrorCollection.cs
1 //
2 // Mono.Data.PostgreSqlClient.PgSqlError.cs
3 //
4 // Author:
5 //   Rodrigo Moya (rodrigo@ximian.com)
6 //   Daniel Morgan (danmorg@sc.rr.com)
7 //
8 // (C) Ximian, Inc 2002
9 //
10 using System;
11 using System.Collections;
12 using System.Data;
13 using System.Runtime.InteropServices;
14
15 namespace Mono.Data.PostgreSqlClient
16 {
17         /// <summary>
18         /// Describes an error from a SQL database.
19         /// </summary>
20         [MonoTODO]
21         public sealed class PgSqlErrorCollection : ICollection, IEnumerable
22         {
23                 ArrayList errorList = new ArrayList();
24
25                 internal PgSqlErrorCollection() {
26                 }
27
28                 internal PgSqlErrorCollection(byte theClass, int lineNumber,
29                         string message, int number, string procedure,
30                         string server, string source, byte state) {
31                         
32                         Add (theClass, lineNumber, message,
33                                 number, procedure,
34                                 server, source, state);
35                 }
36
37                 #region Properties
38                 
39                 [MonoTODO]
40                 public int Count {
41                         get {   
42                                 return errorList.Count;
43                         }                         
44                 }
45
46                 [MonoTODO]
47                 public void CopyTo(Array array, int index) {
48                         throw new NotImplementedException ();
49                 }
50
51                 // [MonoTODO]
52                 bool ICollection.IsSynchronized {
53                         get {   
54                                 throw new NotImplementedException ();
55                         }                         
56                 }
57
58                 // [MonoTODO]
59                 object ICollection.SyncRoot {
60                         get {   
61                                 throw new NotImplementedException ();
62                         }                         
63                 }
64
65                 [MonoTODO]
66                 public IEnumerator GetEnumerator() {
67                         throw new NotImplementedException ();
68                 }
69                 
70                 // Index property (indexer)
71                 // [MonoTODO]
72                 public PgSqlError this[int index] {
73                         get {
74                                 return (PgSqlError) errorList[index];
75                         }
76                 }
77
78                 #endregion
79
80                 #region Methods
81                 
82                 [MonoTODO]
83                 public override string ToString()
84                 {
85                         throw new NotImplementedException ();
86                 }
87                 #endregion
88
89                 internal void Add(PgSqlError error) {
90                         errorList.Add(error);
91                 }
92
93                 internal void Add(byte theClass, int lineNumber,
94                         string message, int number, string procedure,
95                         string server, string source, byte state) {
96                         
97                         PgSqlError error = new PgSqlError(theClass,
98                                 lineNumber, message,
99                                 number, procedure,
100                                 server, source, state);
101                         Add(error);
102                 }
103
104                 #region Destructors
105
106                 [MonoTODO]
107                 ~PgSqlErrorCollection()
108                 {
109                         // FIXME: do the destructor - release resources
110                 }
111
112                 #endregion              
113         }
114 }