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
- MetadataSerializer.cs
- AVElementHelper.cs
- TemplatePartAttribute.cs
- CubicEase.cs
- StateMachineAction.cs
- Schema.cs
- ImageSource.cs
- RelatedImageListAttribute.cs
- RangeValidator.cs
- EmbossBitmapEffect.cs
- ConfigurationPropertyAttribute.cs
- RenderDataDrawingContext.cs
- InputLanguageManager.cs
- AnnotationResource.cs
- ToolStripArrowRenderEventArgs.cs
- StaticFileHandler.cs
- PrimitiveXmlSerializers.cs
- SecurityDocument.cs
- PrintPreviewGraphics.cs
- InternalsVisibleToAttribute.cs
- DataGridTextBoxColumn.cs
- Rotation3D.cs
- ProgressBarRenderer.cs
- BinaryUtilClasses.cs
- CommandField.cs
- RowTypePropertyElement.cs
- GradientStop.cs
- SweepDirectionValidation.cs
- UserPreferenceChangingEventArgs.cs
- ExpandableObjectConverter.cs
- ToolStripButton.cs
- FacetChecker.cs
- GeneralTransform.cs
- InputReportEventArgs.cs
- ComplusEndpointConfigContainer.cs
- HttpInputStream.cs
- DataTableExtensions.cs
- TrustManagerMoreInformation.cs
- BamlResourceSerializer.cs
- DuplicateWaitObjectException.cs
- NameSpaceExtractor.cs
- XmlNavigatorFilter.cs
- DBCommand.cs
- TransactionsSectionGroup.cs
- XmlIncludeAttribute.cs
- ResourceIDHelper.cs
- EventWaitHandleSecurity.cs
- UIElementAutomationPeer.cs
- RuleSet.cs
- DataGridViewComboBoxCell.cs
- PathGeometry.cs
- NominalTypeEliminator.cs
- UrlAuthorizationModule.cs
- CheckBoxDesigner.cs
- AspNetHostingPermission.cs
- StrokeRenderer.cs
- RegistryKey.cs
- ZipIOBlockManager.cs
- DetailsView.cs
- Odbc32.cs
- WebControlsSection.cs
- VariableQuery.cs
- SafeLocalMemHandle.cs
- PersonalizationStateQuery.cs
- ArgumentNullException.cs
- BindableAttribute.cs
- DataGridViewAdvancedBorderStyle.cs
- IndexedGlyphRun.cs
- DataGridLinkButton.cs
- WebEventCodes.cs
- DataListItem.cs
- ClientUtils.cs
- AutomationEvent.cs
- MSAAEventDispatcher.cs
- TextParaClient.cs
- CookielessHelper.cs
- DecoderNLS.cs
- CodeTypeParameter.cs
- ClientScriptItemCollection.cs
- GuidelineSet.cs
- Bezier.cs
- ClickablePoint.cs
- SizeConverter.cs
- DataGridViewButtonColumn.cs
- _FtpDataStream.cs
- CqlParser.cs
- UnsafeNativeMethods.cs
- Bitmap.cs
- DeflateEmulationStream.cs
- CommonGetThemePartSize.cs
- XPathScanner.cs
- ConfigXmlComment.cs
- SqlXmlStorage.cs
- TextPenaltyModule.cs
- PointLight.cs
- MarshalDirectiveException.cs
- RelationshipConverter.cs
- RawUIStateInputReport.cs
- AtomEntry.cs
- SyntaxCheck.cs