(DISTFILES): Comment out a few missing files.
[mono-project.git] / mcs / class / System.DirectoryServices / System.DirectoryServices / DirectoryServicesPermissionEntryCollection.cs
blob95c07b65f6ef0df921bb0c45a76bd5c37f0e0753
1 /******************************************************************************
2 * The MIT License
3 * Copyright (c) 2003 Novell Inc., www.novell.com
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a copy
6 * of this software and associated documentation files (the Software), to deal
7 * in the Software without restriction, including without limitation the rights
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 * copies of the Software, and to permit persons to whom the Software is
10 * furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
15 * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 *******************************************************************************/
25 // System.DirectoryServices.DirectoryServicesPermissionEntryCollection.cs
27 // Copyright (C) 2004 Novell Inc.
29 // Written by Raja R Harinath <rharinath@novell.com>
32 using System.Collections;
33 using System.Security.Permissions;
35 namespace System.DirectoryServices {
37 // when deserializing an instance serialized by MS.NET, you get the following
38 // error : Field "owner" not found in class ....
39 [Serializable]
40 [MonoTODO ("Fix serialization compatibility with MS.NET")]
41 public class DirectoryServicesPermissionEntryCollection : CollectionBase {
43 private DirectoryServicesPermission owner;
45 internal DirectoryServicesPermissionEntryCollection (DirectoryServicesPermission owner)
47 this.owner = owner;
48 ResourcePermissionBaseEntry[] entries = owner.GetEntries ();
49 if (entries.Length > 0) {
50 foreach (ResourcePermissionBaseEntry entry in entries) {
51 DirectoryServicesPermissionAccess dspa = (DirectoryServicesPermissionAccess) entry.PermissionAccess;
52 DirectoryServicesPermissionEntry dspe = new DirectoryServicesPermissionEntry (dspa, entry.PermissionAccessPath [0]);
53 // we don't want to add them (again) to the base class
54 InnerList.Add (dspe);
59 public DirectoryServicesPermissionEntry this [int index] {
60 get { return List[index] as DirectoryServicesPermissionEntry; }
61 set { List[index] = value; }
64 public int Add (DirectoryServicesPermissionEntry entry)
66 return List.Add (entry);
69 public void AddRange (DirectoryServicesPermissionEntry[] entries)
71 foreach (DirectoryServicesPermissionEntry entry in entries)
72 Add (entry);
75 public void AddRange (DirectoryServicesPermissionEntryCollection entries)
77 foreach (DirectoryServicesPermissionEntry entry in entries)
78 Add (entry);
81 public void CopyTo (DirectoryServicesPermissionEntry[] copy_to, int index)
83 foreach (DirectoryServicesPermissionEntry entry in List)
84 copy_to[index++] = entry;
87 public bool Contains (DirectoryServicesPermissionEntry entry)
89 return List.Contains (entry);
92 public int IndexOf (DirectoryServicesPermissionEntry entry)
94 return List.IndexOf (entry);
97 public void Insert (int pos, DirectoryServicesPermissionEntry entry)
99 List.Insert (pos, entry);
102 public void Remove (DirectoryServicesPermissionEntry entry)
104 List.Remove (entry);
107 protected override void OnClear ()
109 owner.ClearEntries ();
112 protected override void OnInsert (int index, object value)
114 owner.Add (value);
117 protected override void OnRemove (int index, object value)
119 owner.Remove (value);
122 protected override void OnSet (int index, object oldValue, object newValue)
124 owner.Remove (oldValue);
125 owner.Add (newValue);