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)]
25 public class EventLogPermissionAttribute : CodeAccessSecurityAttribute
27 private string machineName;
28 private EventLogPermissionAccess permissionAccess;
30 public EventLogPermissionAttribute(SecurityAction action)
34 permissionAccess = EventLogPermissionAccess.Browse;
37 // May throw ArgumentException if computer name is invalid
38 public string MachineName {
39 get {return machineName;}
41 // TODO check machine name
46 public EventLogPermissionAccess PermissionAccess {
47 get {return permissionAccess;}
48 set {permissionAccess = value;}
51 public override IPermission CreatePermission()
53 if (base.Unrestricted) {
54 return new EventLogPermission (PermissionState.Unrestricted);
56 return new EventLogPermission (PermissionAccess, MachineName);