PerformanceCounterPermissionEntryCollection.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. //
  2. // System.Diagnostics.PerformanceCounterPermissionEntryCollection.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.Collections;
  14. using System.Globalization;
  15. using System.Security.Permissions;
  16. namespace System.Diagnostics {
  17. [Serializable]
  18. public class PerformanceCounterPermissionEntryCollection : CollectionBase
  19. {
  20. internal PerformanceCounterPermissionEntryCollection (ResourcePermissionBaseEntry[] entries)
  21. {
  22. foreach (ResourcePermissionBaseEntry entry in entries) {
  23. List.Add (new PerformanceCounterPermissionEntry ((PerformanceCounterPermissionAccess) entry.PermissionAccess, entry.PermissionAccessPath[0], entry.PermissionAccessPath[1]));
  24. }
  25. }
  26. public PerformanceCounterPermissionEntry this [int index] {
  27. get {
  28. return (PerformanceCounterPermissionEntry)
  29. InnerList[index];
  30. }
  31. set {InnerList[index] = value;}
  32. }
  33. public int Add (PerformanceCounterPermissionEntry value)
  34. {
  35. return InnerList.Add (value);
  36. }
  37. public void AddRange (PerformanceCounterPermissionEntry[] value)
  38. {
  39. foreach (PerformanceCounterPermissionEntry e in value)
  40. Add (e);
  41. }
  42. public void AddRange (
  43. PerformanceCounterPermissionEntryCollection value)
  44. {
  45. foreach (PerformanceCounterPermissionEntry e in value)
  46. Add (e);
  47. }
  48. public bool Contains (PerformanceCounterPermissionEntry value)
  49. {
  50. return InnerList.Contains (value);
  51. }
  52. public void CopyTo (PerformanceCounterPermissionEntry[] array,
  53. int index)
  54. {
  55. InnerList.CopyTo (array, index);
  56. }
  57. public int IndexOf (PerformanceCounterPermissionEntry value)
  58. {
  59. return InnerList.IndexOf (value);
  60. }
  61. public void Insert (int index,
  62. PerformanceCounterPermissionEntry value)
  63. {
  64. InnerList.Insert (index, value);
  65. }
  66. protected override void OnClear ()
  67. {
  68. }
  69. protected override void OnInsert (int index, object value)
  70. {
  71. if (!(value is PerformanceCounterPermissionEntry))
  72. throw new NotSupportedException (Locale.GetText(
  73. "You can only insert " +
  74. "PerformanceCounterPermissionEntry " +
  75. "objects into the collection."));
  76. }
  77. protected override void OnRemove (int index, object value)
  78. {
  79. }
  80. protected override void OnSet (int index,
  81. object oldValue,
  82. object newValue)
  83. {
  84. if (!(newValue is PerformanceCounterPermissionEntry))
  85. throw new NotSupportedException (Locale.GetText(
  86. "You can only insert " +
  87. "PerformanceCounterPermissionEntry " +
  88. "objects into the collection."));
  89. }
  90. public void Remove (PerformanceCounterPermissionEntry value)
  91. {
  92. InnerList.Remove (value);
  93. }
  94. }
  95. }