DiagnosticsConfigurationHandler.cs:
[mono.git] / mcs / class / System / System.Diagnostics / CounterCreationDataCollection.cs
1 //
2 // System.Diagnostics.CounterCreationDataCollection.cs
3 //
4 // Authors:
5 //   Jonathan Pryor (jonpryor@vt.edu)
6 //
7 // (C) 2002
8 //
9
10 using System;
11 using System.Collections;
12 using System.Diagnostics;
13 using System.Globalization;
14
15 namespace System.Diagnostics {
16
17         [Serializable]
18         public class CounterCreationDataCollection : CollectionBase {
19
20                 public CounterCreationDataCollection ()
21                 {
22                 }
23
24                 public CounterCreationDataCollection (
25                         CounterCreationData[] value)
26                 {
27                         AddRange (value);
28                 }
29
30                 public CounterCreationDataCollection (
31                         CounterCreationDataCollection value)
32                 {
33                         AddRange (value);
34                 }
35
36                 public CounterCreationData this [int index] {
37                         get {return (CounterCreationData) InnerList[index];}
38                         set {InnerList[index] = value;}
39                 }
40
41                 public int Add (CounterCreationData value)
42                 {
43                         return InnerList.Add (value);
44                 }
45
46                 public void AddRange (CounterCreationData[] value)
47                 {
48                         foreach (CounterCreationData v in value)
49                         {
50                                 Add (v);
51                         }
52                 }
53
54                 public void AddRange (CounterCreationDataCollection value)
55                 {
56                         foreach (CounterCreationData v in value)
57                         {
58                                 Add (v);
59                         }
60                 }
61
62                 public bool Contains (CounterCreationData value)
63                 {
64                         return InnerList.Contains (value);
65                 }
66
67                 public void CopyTo (CounterCreationData[] array, int index)
68                 {
69                         InnerList.CopyTo (array, index);
70                 }
71
72                 public int IndexOf (CounterCreationData value)
73                 {
74                         return InnerList.IndexOf (value);
75                 }
76
77                 public void Insert (int index, CounterCreationData value)
78                 {
79                         InnerList.Insert (index, value);
80                 }
81
82                 protected override void OnInsert (int index, object value)
83                 {
84                         if (!(value is CounterCreationData))
85                                 throw new NotSupportedException (Locale.GetText(
86                                         "You can only insert " + 
87                                         "CounterCreationData objects into " +
88                                         "the collection"));
89                 }
90
91                 public virtual void Remove (CounterCreationData value)
92                 {
93                         InnerList.Remove (value);
94                 }
95         }
96 }
97