2 // System.Diagnostics.EventLogPermissionAttribute.cs
5 // Jonathan Pryor (jonpryor@vt.edu)
6 // Andreas Nahr (ClassDevelopment@A-SoftTech.com)
9 // (C) 2003 Andreas Nahr
13 using System.Diagnostics;
14 using System.Security;
15 using System.Security.Permissions;
17 namespace System.Diagnostics
21 AttributeTargets.Assembly | AttributeTargets.Class |
22 AttributeTargets.Struct | AttributeTargets.Constructor |
23 AttributeTargets.Method | AttributeTargets.Event,
24 AllowMultiple=true, Inherited=false)]
26 public class EventLogPermissionAttribute : CodeAccessSecurityAttribute
28 private string machineName;
29 private EventLogPermissionAccess permissionAccess;
31 public EventLogPermissionAttribute(SecurityAction action)
35 permissionAccess = EventLogPermissionAccess.Browse;
38 // May throw ArgumentException if computer name is invalid
39 public string MachineName {
40 get {return machineName;}
42 // TODO check machine name
47 public EventLogPermissionAccess PermissionAccess {
48 get {return permissionAccess;}
49 set {permissionAccess = value;}
52 public override IPermission CreatePermission()
54 if (base.Unrestricted) {
55 return new EventLogPermission (PermissionState.Unrestricted);
57 return new EventLogPermission (PermissionAccess, MachineName);