Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ObservableGauge.cs
Go to the documentation of this file.
2
4
5public sealed class ObservableGauge<T> : ObservableInstrument<T> where T : struct
6{
7 private object _callback;
8
9 internal ObservableGauge(Meter meter, string name, Func<T> observeValue, string unit, string description)
10 : base(meter, name, unit, description)
11 {
12 if (observeValue == null)
13 {
14 throw new ArgumentNullException("observeValue");
15 }
17 Publish();
18 }
19
20 internal ObservableGauge(Meter meter, string name, Func<Measurement<T>> observeValue, string unit, string description)
21 : base(meter, name, unit, description)
22 {
23 if (observeValue == null)
24 {
25 throw new ArgumentNullException("observeValue");
26 }
28 Publish();
29 }
30
31 internal ObservableGauge(Meter meter, string name, Func<IEnumerable<Measurement<T>>> observeValues, string unit, string description)
32 : base(meter, name, unit, description)
33 {
34 if (observeValues == null)
35 {
36 throw new ArgumentNullException("observeValues");
37 }
39 Publish();
40 }
41
42 protected override IEnumerable<Measurement<T>> Observe()
43 {
44 return Observe(_callback);
45 }
46}
ObservableGauge(Meter meter, string name, Func< Measurement< T > > observeValue, string unit, string description)
override IEnumerable< Measurement< T > > Observe()
ObservableGauge(Meter meter, string name, Func< T > observeValue, string unit, string description)
ObservableGauge(Meter meter, string name, Func< IEnumerable< Measurement< T > > > observeValues, string unit, string description)