File: compmod\system\diagnostics\SystemDiagnosticsSection.cs
Project: ndp\fx\src\System.csproj (System)
//------------------------------------------------------------------------------
// <copyright file="SystemDiagnosticsSection.cs" company="Microsoft Corporation">
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System.Configuration;
 
namespace System.Diagnostics {
    internal class SystemDiagnosticsSection : ConfigurationSection {
        private static readonly ConfigurationPropertyCollection _properties;
        private static readonly ConfigurationProperty _propAssert = new ConfigurationProperty("assert", typeof(AssertSection), new AssertSection(), ConfigurationPropertyOptions.None);
        private static readonly ConfigurationProperty _propPerfCounters = new ConfigurationProperty("performanceCounters", typeof(PerfCounterSection), new PerfCounterSection(), ConfigurationPropertyOptions.None);
        private static readonly ConfigurationProperty _propSources = new ConfigurationProperty("sources", typeof(SourceElementsCollection), new SourceElementsCollection(), ConfigurationPropertyOptions.None);
        private static readonly ConfigurationProperty _propSharedListeners = new ConfigurationProperty("sharedListeners", typeof(SharedListenerElementsCollection), new SharedListenerElementsCollection(), ConfigurationPropertyOptions.None);
        private static readonly ConfigurationProperty _propSwitches = new ConfigurationProperty("switches", typeof(SwitchElementsCollection), new SwitchElementsCollection(), ConfigurationPropertyOptions.None);
        private static readonly ConfigurationProperty _propTrace = new ConfigurationProperty("trace", typeof(TraceSection), new TraceSection(), ConfigurationPropertyOptions.None);
 
        static SystemDiagnosticsSection() {
            _properties = new ConfigurationPropertyCollection();
            _properties.Add(_propAssert);
            _properties.Add(_propPerfCounters);
            _properties.Add(_propSources);
            _properties.Add(_propSharedListeners);
            _properties.Add(_propSwitches);
            _properties.Add(_propTrace);
        }
 
        [ConfigurationProperty("assert")]
        public AssertSection Assert {
            get {
                return (AssertSection) base[_propAssert];
            }
        }
 
        [ConfigurationProperty("performanceCounters")]
        public PerfCounterSection PerfCounters {
            get {
                return (PerfCounterSection) base[_propPerfCounters];
            }
        }
 
        protected override ConfigurationPropertyCollection Properties {
            get {
                return _properties;
            }
        }
 
        [ConfigurationProperty("sources")]
        public SourceElementsCollection  Sources {
            get {
                return (SourceElementsCollection ) base[_propSources];
            }
        }
 
        [ConfigurationProperty("sharedListeners")]
        public ListenerElementsCollection SharedListeners {
            get {
                return (ListenerElementsCollection) base[_propSharedListeners];
            }
        }
 
        [ConfigurationProperty("switches")]
        public SwitchElementsCollection Switches {
            get {
                return (SwitchElementsCollection) base[_propSwitches];
            }
        }
 
        [ConfigurationProperty("trace")]
        public TraceSection Trace {
            get {
                return (TraceSection) base[_propTrace];
            }
        }
 
        protected override void InitializeDefault() {
            Trace.Listeners.InitializeDefaultInternal();
        }
    }
}