Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Diagnostics / Eventing / Reader / EventLevel.cs / 1305376 / EventLevel.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventLevel ** ** Purpose: ** This public class describes the metadata for a specific Level ** defined by a Provider. An instance of this class is obtained from ** a ProviderMetadata object. ** ============================================================*/ using System.Collections.Generic; namespace System.Diagnostics.Eventing.Reader { ////// Describes the metadata for a specific Level defined by a Provider. /// An instance of this class is obtained from a ProviderMetadata object. /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class EventLevel { private int value; private string name; private string displayName; private bool dataReady; ProviderMetadata pmReference; object syncObject; //called from EventMetadata internal EventLevel(int value, ProviderMetadata pmReference) { this.value = value; this.pmReference = pmReference; this.syncObject = new object(); } //called from ProviderMetadata internal EventLevel(string name, int value, string displayName) { this.value = value; this.name = name; this.displayName = displayName; this.dataReady = true; this.syncObject = new object(); } internal void PrepareData() { if (dataReady == true) return; lock (syncObject) { if (dataReady == true) return; IEnumerableresult = pmReference.Levels; this.name = null; this.displayName = null; this.dataReady = true; foreach (EventLevel lev in result) { if (lev.Value == this.value) { this.name = lev.Name; this.displayName = lev.DisplayName; break; } } } } public string Name { get { PrepareData(); return this.name; } } public int Value { get { return this.value; } } public string DisplayName { get { PrepareData(); return this.displayName; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventLevel ** ** Purpose: ** This public class describes the metadata for a specific Level ** defined by a Provider. An instance of this class is obtained from ** a ProviderMetadata object. ** ============================================================*/ using System.Collections.Generic; namespace System.Diagnostics.Eventing.Reader { /// /// Describes the metadata for a specific Level defined by a Provider. /// An instance of this class is obtained from a ProviderMetadata object. /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class EventLevel { private int value; private string name; private string displayName; private bool dataReady; ProviderMetadata pmReference; object syncObject; //called from EventMetadata internal EventLevel(int value, ProviderMetadata pmReference) { this.value = value; this.pmReference = pmReference; this.syncObject = new object(); } //called from ProviderMetadata internal EventLevel(string name, int value, string displayName) { this.value = value; this.name = name; this.displayName = displayName; this.dataReady = true; this.syncObject = new object(); } internal void PrepareData() { if (dataReady == true) return; lock (syncObject) { if (dataReady == true) return; IEnumerableresult = pmReference.Levels; this.name = null; this.displayName = null; this.dataReady = true; foreach (EventLevel lev in result) { if (lev.Value == this.value) { this.name = lev.Name; this.displayName = lev.DisplayName; break; } } } } public string Name { get { PrepareData(); return this.name; } } public int Value { get { return this.value; } } public string DisplayName { get { PrepareData(); return this.displayName; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Double.cs
- HorizontalAlignConverter.cs
- TrayIconDesigner.cs
- ConfigPathUtility.cs
- DllHostedComPlusServiceHost.cs
- RepeaterItem.cs
- EntityDataSourceContainerNameItem.cs
- HTMLTagNameToTypeMapper.cs
- XmlSchemaSimpleTypeRestriction.cs
- FactoryMaker.cs
- ExtenderHelpers.cs
- ImagingCache.cs
- WebEvents.cs
- Privilege.cs
- BulletChrome.cs
- EventLogConfiguration.cs
- BaseDataList.cs
- ReadOnlyDataSource.cs
- Executor.cs
- RegexStringValidatorAttribute.cs
- AVElementHelper.cs
- GeometryCollection.cs
- DefaultBinder.cs
- ConfigUtil.cs
- BuildResultCache.cs
- TypeDefinition.cs
- InputLanguageManager.cs
- ResetableIterator.cs
- Timeline.cs
- MetadataSource.cs
- SiteMap.cs
- DefaultEventAttribute.cs
- NativeMethods.cs
- QuaternionKeyFrameCollection.cs
- OdbcPermission.cs
- ObjectListFieldsPage.cs
- LocalIdKeyIdentifierClause.cs
- SoapAttributes.cs
- SearchExpression.cs
- DataGridViewCheckBoxCell.cs
- ModelService.cs
- AsymmetricKeyExchangeDeformatter.cs
- EncodingDataItem.cs
- DataKey.cs
- SQLBytesStorage.cs
- CompilerError.cs
- documentsequencetextcontainer.cs
- Stack.cs
- DWriteFactory.cs
- ApplicationServiceManager.cs
- ButtonBase.cs
- SessionPageStateSection.cs
- BuildManager.cs
- SourceExpressionException.cs
- Events.cs
- RoleProviderPrincipal.cs
- AsymmetricKeyExchangeDeformatter.cs
- AssociationSet.cs
- SchemaImporterExtensionElement.cs
- basecomparevalidator.cs
- DateTimePicker.cs
- BoundColumn.cs
- UnmanagedMemoryStream.cs
- SqlClientWrapperSmiStreamChars.cs
- BaseParaClient.cs
- DrawingGroupDrawingContext.cs
- ToolStripItemImageRenderEventArgs.cs
- ControlValuePropertyAttribute.cs
- SQLCharsStorage.cs
- SynchronizedDispatch.cs
- DictionaryManager.cs
- FilteredXmlReader.cs
- GroupStyle.cs
- TextComposition.cs
- MonitorWrapper.cs
- ListViewSortEventArgs.cs
- CharKeyFrameCollection.cs
- XNameConverter.cs
- base64Transforms.cs
- AuthenticationModuleElementCollection.cs
- DataGridViewComboBoxCell.cs
- hebrewshape.cs
- TripleDES.cs
- Select.cs
- InvalidDataException.cs
- SecurityUniqueId.cs
- X509Certificate2.cs
- PngBitmapEncoder.cs
- GridViewEditEventArgs.cs
- RtType.cs
- DataGridViewToolTip.cs
- Point.cs
- EmbeddedMailObject.cs
- TraceUtils.cs
- XPathBinder.cs
- OpCopier.cs
- QueueProcessor.cs
- PtsCache.cs
- StylusEventArgs.cs
- BaseTemplateBuildProvider.cs