Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Internal / ObjectToken / ObjectTokenCategory.cs / 1 / ObjectTokenCategory.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description:
// Object Token Category
//
// History:
// 7/1/2004 [....]
//---------------------------------------------------------------------------
using Microsoft.Win32;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
namespace System.Speech.Internal.ObjectTokens
{
///
/// Summary description for ObjectTokenCategory.
///
internal class ObjectTokenCategory : RegistryDataKey, IEnumerable
{
//*******************************************************************
//
// Constructors
//
//*******************************************************************
#region Constructors
protected ObjectTokenCategory (string keyId, RegistryKey hkey)
: base (keyId, hkey)
{
}
static internal ObjectTokenCategory Create (string sCategoryId)
{
string id;
RegistryKey hkey = ObjectToken.CreateKey (sCategoryId, false, out id);
if (hkey != null)
{
return new ObjectTokenCategory (id, hkey);
}
return null;
}
#endregion
//********************************************************************
//
// Internal Methods
//
//*******************************************************************
#region internal Methods
internal ObjectToken OpenToken (string keyName)
{
// Check if the token is for a voice
string tokenName = keyName;
if (!string.IsNullOrEmpty (tokenName) && tokenName.IndexOf ("HKEY_", StringComparison.Ordinal) != 0)
{
tokenName = string.Format (CultureInfo.InvariantCulture, @"{0}\Tokens\{1}", Id, tokenName);
}
bool fVoiceToken = !string.IsNullOrEmpty (tokenName) && tokenName.IndexOf (@"Voices\Tokens", StringComparison.Ordinal) > 0;
return fVoiceToken ? VoiceObjectToken.Create (null, tokenName) : ObjectToken.Create (null, tokenName, false);
}
#if false
internal ObjectToken CreateToken (string keyName)
{
return new ObjectToken (Id, @"Token\" + keyName, true);
}
internal void DeleteToken (string keyName)
{
DeleteKey (@"Token\" + keyName);
}
#endif
#region IEnumerable implementation
IEnumerator IEnumerable.GetEnumerator ()
{
RegistryDataKey token;
if (TryOpenKey ("Tokens", out token))
{
foreach (RegistryDataKey key in token)
{
string id = key.Id;
yield return OpenToken (key.Id);
key.Dispose ();
}
token.Dispose ();
}
}
IEnumerator IEnumerable.GetEnumerator ()
{
return ((IEnumerable) this).GetEnumerator ();
}
#endregion
#endregion
//********************************************************************
//
// Protected Methods
//
//********************************************************************
#region Protected Methods
protected override void Dispose (bool disposing)
{
base.Dispose (disposing);
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Visitor.cs
- BookmarkUndoUnit.cs
- ServiceModelConfigurationSectionGroup.cs
- ModelUIElement3D.cs
- HtmlToClrEventProxy.cs
- FloaterParaClient.cs
- QilNode.cs
- UniqueConstraint.cs
- TextViewBase.cs
- ScaleTransform3D.cs
- AnimationException.cs
- Stack.cs
- TextDecoration.cs
- Button.cs
- DataGridViewRowStateChangedEventArgs.cs
- DataSourceXmlTextReader.cs
- DbgCompiler.cs
- ValidationErrorCollection.cs
- ControlIdConverter.cs
- ValueTable.cs
- HebrewNumber.cs
- StaticTextPointer.cs
- PictureBox.cs
- BlockUIContainer.cs
- RichTextBoxConstants.cs
- TreeNodeClickEventArgs.cs
- XomlCompiler.cs
- ComPlusAuthorization.cs
- BinaryReader.cs
- AttributeCollection.cs
- TypeDescriptionProviderAttribute.cs
- CanExecuteRoutedEventArgs.cs
- CustomExpressionEventArgs.cs
- ContextMenu.cs
- XmlTextAttribute.cs
- PointAnimationBase.cs
- MarkupWriter.cs
- IgnoreSectionHandler.cs
- SvcMapFileSerializer.cs
- DataSysAttribute.cs
- PathSegment.cs
- DataServiceHostFactory.cs
- LogExtent.cs
- XmlDesigner.cs
- UserPersonalizationStateInfo.cs
- WindowsAuthenticationModule.cs
- PropertyCollection.cs
- PointCollectionConverter.cs
- ParentQuery.cs
- _emptywebproxy.cs
- MenuCommandService.cs
- SystemFonts.cs
- ViewCellSlot.cs
- ISO2022Encoding.cs
- RunWorkerCompletedEventArgs.cs
- Span.cs
- TypeDefinition.cs
- WizardStepBase.cs
- UrlMappingCollection.cs
- Cursor.cs
- TableLayoutSettingsTypeConverter.cs
- _PooledStream.cs
- ProcessModelSection.cs
- DelegatedStream.cs
- UriSection.cs
- Image.cs
- ItemContainerProviderWrapper.cs
- HttpDebugHandler.cs
- Pair.cs
- DataGridColumnDropSeparator.cs
- BrowserCapabilitiesCodeGenerator.cs
- SafeSecurityHelper.cs
- DataServiceHostWrapper.cs
- SystemInfo.cs
- XComponentModel.cs
- ArrayElementGridEntry.cs
- DesignTimeParseData.cs
- FactoryGenerator.cs
- DescendantOverDescendantQuery.cs
- Brush.cs
- ScriptManager.cs
- Int64.cs
- ExpandedWrapper.cs
- webclient.cs
- ClosableStream.cs
- Query.cs
- DownloadProgressEventArgs.cs
- TemplateKeyConverter.cs
- NotifyCollectionChangedEventArgs.cs
- AdapterUtil.cs
- CngAlgorithm.cs
- AuthenticationManager.cs
- DynamicPropertyHolder.cs
- AsynchronousChannel.cs
- WebPartDescription.cs
- PropertyGeneratedEventArgs.cs
- LongPath.cs
- AutomationProperty.cs
- PersonalizationStateInfoCollection.cs
- TakeOrSkipQueryOperator.cs