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