File: DiagnosticSection.cs

package info (click to toggle)
mono 6.8.0.105%2Bdfsg-3.3~deb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,284,488 kB
  • sloc: cs: 11,172,132; xml: 2,850,069; ansic: 671,653; cpp: 122,091; perl: 59,366; javascript: 30,841; asm: 22,168; makefile: 20,093; sh: 15,020; python: 4,827; pascal: 925; sql: 859; sed: 16; php: 1
file content (85 lines) | stat: -rw-r--r-- 3,603 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------------------------

namespace System.ServiceModel.Configuration
{
    using System.Configuration;
    using System.Runtime;
    using System.Security;
    using System.ServiceModel.Diagnostics;

    public sealed partial class DiagnosticSection : ConfigurationSection
    {
        // These three constructors are used by the configuration system. 
        public DiagnosticSection()
            : base()
        {
        }

        [ConfigurationProperty(ConfigurationStrings.WmiProviderEnabled, DefaultValue = false)]
        public bool WmiProviderEnabled
        {
            get { return (bool)base[ConfigurationStrings.WmiProviderEnabled]; }
            set { base[ConfigurationStrings.WmiProviderEnabled] = value; }
        }

        [ConfigurationProperty(ConfigurationStrings.MessageLogging, Options = ConfigurationPropertyOptions.None)]
        public MessageLoggingElement MessageLogging
        {
            get { return (MessageLoggingElement)base[ConfigurationStrings.MessageLogging]; }
        }

        [ConfigurationProperty(ConfigurationStrings.EndToEndTracing, Options = ConfigurationPropertyOptions.None)]
        public EndToEndTracingElement EndToEndTracing
        {
            get { return (EndToEndTracingElement)base[ConfigurationStrings.EndToEndTracing]; }
        }

        [ConfigurationProperty(ConfigurationStrings.PerformanceCounters, DefaultValue = PerformanceCounterScope.Default)]
        [ServiceModelEnumValidator(typeof(PerformanceCounterScopeHelper))]
        public PerformanceCounterScope PerformanceCounters
        {
            get { return (PerformanceCounterScope)base[ConfigurationStrings.PerformanceCounters]; }
            set { base[ConfigurationStrings.PerformanceCounters] = value; }
        }

        [ConfigurationProperty(ConfigurationStrings.EtwProviderId, DefaultValue = "{c651f5f6-1c0d-492e-8ae1-b4efd7c9d503}")]
        [StringValidator(MinLength = 32)]
        public string EtwProviderId
        {
            get { return (string)base[ConfigurationStrings.EtwProviderId]; }
            set { base[ConfigurationStrings.EtwProviderId] = value; }
        }

        internal static DiagnosticSection GetSection()
        {
            return (DiagnosticSection)ConfigurationHelpers.GetSection(ConfigurationStrings.DiagnosticSectionPath);
        }

        [Fx.Tag.SecurityNote(Critical = "Calls Critical method UnsafeGetSection which elevates in order to fetch config."
            + "Caller must guard access to resultant config section.")]
        [SecurityCritical]
        internal static DiagnosticSection UnsafeGetSection()
        {
            return (DiagnosticSection)ConfigurationHelpers.UnsafeGetSection(ConfigurationStrings.DiagnosticSectionPath);
        }

        [Fx.Tag.SecurityNote(Critical = "Calls Critical method UnsafeGetSection which elevates in order to fetch config."
            + "Caller must guard access to resultant config section.")]
        [SecurityCritical]
        internal static DiagnosticSection UnsafeGetSectionNoTrace()
        {
            return (DiagnosticSection)ConfigurationHelpers.UnsafeGetSectionNoTrace(ConfigurationStrings.DiagnosticSectionPath);
        }

        internal bool IsEtwProviderIdFromConfigFile()
        {
            return PropertyValueOrigin.Default != this.ElementInformation.Properties[ConfigurationStrings.EtwProviderId].ValueOrigin;
        }

    }
}