[sgen] Restore hazard pointers in suspend signal handler. Fixes #15695.
[mono.git] / mcs / class / System.DirectoryServices.Protocols / System.DirectoryServices.Protocols / DsmlResponseDocument.cs
1 //
2 // DsmlResponseDocument.cs
3 //
4 // Author:
5 //   Atsushi Enomoto  <atsushi@ximian.com>
6 //
7 // Copyright (C) 2009 Novell, Inc.
8 //
9
10 //
11 // Permission is hereby granted, free of charge, to any person obtaining
12 // a copy of this software and associated documentation files (the
13 // "Software"), to deal in the Software without restriction, including
14 // without limitation the rights to use, copy, modify, merge, publish,
15 // distribute, sublicense, and/or sell copies of the Software, and to
16 // permit persons to whom the Software is furnished to do so, subject to
17 // the following conditions:
18 // 
19 // The above copyright notice and this permission notice shall be
20 // included in all copies or substantial portions of the Software.
21 // 
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
26 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
27 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 //
30
31 using System;
32 using System.Collections;
33 using System.Xml;
34
35 namespace System.DirectoryServices.Protocols
36 {
37         [MonoTODO]
38         public class DsmlResponseDocument : DsmlDocument, ICollection, IEnumerable
39         {
40                 ArrayList list = new ArrayList ();
41
42                 public DsmlDocumentProcessing DocumentProcessing { get; set; }
43                 public DsmlErrorProcessing ErrorProcessing { get; set; }
44
45                 [MonoTODO]
46                 public override XmlDocument ToXml ()
47                 {
48                         throw new NotImplementedException ();
49                 }
50
51                 [MonoTODO]
52                 public bool IsErrorResponse { get; private set; }
53                 [MonoTODO]
54                 public bool IsOperationError { get; private set; }
55                 [MonoTODO]
56                 public string RequestId { get; private set; }
57
58                 public int Count {
59                         get { return list.Count; }
60                 }
61
62                 protected bool IsFixedSize {
63                         get { return list.IsFixedSize; }
64                 }
65
66                 protected bool IsReadOnly {
67                         get { return list.IsReadOnly; }
68                 }
69
70                 protected bool IsSynchronized {
71                         get { return list.IsSynchronized; }
72                 }
73
74                 public DirectoryResponse this [int index] {
75                         get { return (DirectoryResponse) list [index]; }
76                         set { list [index] = value; }
77                 }
78
79                 public string ResponseId { get; set; }
80
81                 public DsmlResponseOrder ResponseOrder { get; set; }
82
83                 protected object SyncRoot {
84                         get { return list.SyncRoot; }
85                 }
86
87                 int ICollection.Count {
88                         get { return Count; }
89                 }
90
91                 bool ICollection.IsSynchronized {
92                         get { return IsSynchronized; }
93                 }
94
95                 object ICollection.SyncRoot {
96                         get { return SyncRoot; }
97                 }
98
99                 public int Add (DirectoryResponse request)
100                 {
101                         return list.Add (request);
102                 }
103
104                 public void Clear ()
105                 {
106                         list.Clear ();
107                 }
108
109                 public bool Contains (DirectoryResponse value)
110                 {
111                         return list.Contains (value);
112                 }
113
114                 public void CopyTo (DirectoryResponse [] value, int i)
115                 {
116                         list.CopyTo (value, i);
117                 }
118
119                 public IEnumerator GetEnumerator ()
120                 {
121                         return list.GetEnumerator ();
122                 }
123
124                 public int IndexOf (DirectoryResponse value)
125                 {
126                         return list.IndexOf (value);
127                 }
128
129                 public void Insert (int index, DirectoryResponse value)
130                 {
131                         list.Insert (index, value);
132                 }
133
134                 public void Remove (DirectoryResponse value)
135                 {
136                         list.Remove (value);
137                 }
138
139                 public void RemoveAt (int index)
140                 {
141                         list.RemoveAt (index);
142                 }
143
144                 void ICollection.CopyTo (Array value, int i)
145                 {
146                         CopyTo ((DirectoryResponse []) value, i);
147                 }
148         }
149 }