//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Diagnostics { using System; using System.Security.Permissions; /// /// [To be supplied.] /// [ Serializable() ] public sealed class EventLogPermission : ResourcePermissionBase { private EventLogPermissionEntryCollection innerCollection; /// /// [To be supplied.] /// public EventLogPermission() { SetNames(); } /// /// [To be supplied.] /// public EventLogPermission(PermissionState state) : base(state) { SetNames(); } /// /// [To be supplied.] /// public EventLogPermission(EventLogPermissionAccess permissionAccess, string machineName) { SetNames(); this.AddPermissionAccess(new EventLogPermissionEntry(permissionAccess, machineName)); } /// /// [To be supplied.] /// public EventLogPermission(EventLogPermissionEntry[] permissionAccessEntries) { if (permissionAccessEntries == null) throw new ArgumentNullException("permissionAccessEntries"); SetNames(); for (int index = 0; index < permissionAccessEntries.Length; ++index) this.AddPermissionAccess(permissionAccessEntries[index]); } /// /// [To be supplied.] /// public EventLogPermissionEntryCollection PermissionEntries { get { if (this.innerCollection == null) this.innerCollection = new EventLogPermissionEntryCollection(this, base.GetPermissionEntries()); return this.innerCollection; } } /// internal void AddPermissionAccess(EventLogPermissionEntry entry) { base.AddPermissionAccess(entry.GetBaseEntry()); } /// internal new void Clear() { base.Clear(); } /// internal void RemovePermissionAccess(EventLogPermissionEntry entry) { base.RemovePermissionAccess(entry.GetBaseEntry()); } private void SetNames() { this.PermissionAccessType = typeof(EventLogPermissionAccess); this.TagNames = new string[]{"Machine"}; } } }