PerformanceCounterPermission.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //
  2. // System.Diagnostics.PerformanceCounterPermission.cs
  3. //
  4. // Authors:
  5. // Jonathan Pryor ([email protected])
  6. // Andreas Nahr ([email protected])
  7. //
  8. // (C) 2002
  9. // (C) 2003 Andreas Nahr
  10. //
  11. using System;
  12. using System.Diagnostics;
  13. using System.Security.Permissions;
  14. namespace System.Diagnostics {
  15. [Serializable]
  16. public sealed class PerformanceCounterPermission : ResourcePermissionBase {
  17. public PerformanceCounterPermission ()
  18. {
  19. }
  20. public PerformanceCounterPermission (PerformanceCounterPermissionEntry[] permissionAccessEntries)
  21. {
  22. if (permissionAccessEntries == null)
  23. throw new ArgumentNullException("permissionAccessEntries");
  24. foreach (PerformanceCounterPermissionEntry entry in permissionAccessEntries)
  25. AddPermissionAccess (entry.CreateResourcePermissionBaseEntry ());
  26. }
  27. public PerformanceCounterPermission (PermissionState state)
  28. : base (state)
  29. {
  30. }
  31. public PerformanceCounterPermission (
  32. PerformanceCounterPermissionAccess permissionAccess,
  33. string machineName,
  34. string categoryName)
  35. {
  36. AddPermissionAccess (new PerformanceCounterPermissionEntry (permissionAccess, machineName, categoryName).CreateResourcePermissionBaseEntry ());
  37. }
  38. public PerformanceCounterPermissionEntryCollection PermissionEntries {
  39. get {return new PerformanceCounterPermissionEntryCollection (base.GetPermissionEntries()); }
  40. }
  41. }
  42. }