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
- Point3DCollectionConverter.cs
- QuinticEase.cs
- DrawingVisual.cs
- TextBoxLine.cs
- BufferedReadStream.cs
- MeasureData.cs
- NamespaceCollection.cs
- RNGCryptoServiceProvider.cs
- ContainsRowNumberChecker.cs
- DataGridViewEditingControlShowingEventArgs.cs
- XPathNodeHelper.cs
- BoundPropertyEntry.cs
- ProgressChangedEventArgs.cs
- GeneralTransformGroup.cs
- Margins.cs
- ExpressionCopier.cs
- DragEventArgs.cs
- Argument.cs
- XamlUtilities.cs
- SchemaNames.cs
- RunInstallerAttribute.cs
- ConditionalBranch.cs
- ConfigXmlAttribute.cs
- DataGridTable.cs
- Funcletizer.cs
- HttpWebRequest.cs
- CodeMethodReturnStatement.cs
- FrameworkElementFactoryMarkupObject.cs
- CopyCodeAction.cs
- QuotaThrottle.cs
- ValidatedMobileControlConverter.cs
- PriorityQueue.cs
- CommandManager.cs
- TypeConverterValueSerializer.cs
- XamlFilter.cs
- StringUtil.cs
- DataGridViewUtilities.cs
- EventListener.cs
- WebServiceResponseDesigner.cs
- ButtonStandardAdapter.cs
- DataObjectAttribute.cs
- DataGridViewIntLinkedList.cs
- ErrorLog.cs
- RegexMatch.cs
- BaseDataList.cs
- EventSourceCreationData.cs
- FixedDocumentPaginator.cs
- CharAnimationBase.cs
- PerformanceCounterPermissionEntry.cs
- ConfigurationProperty.cs
- EntityDataSourceWrapper.cs
- DocumentViewer.cs
- ListViewDeleteEventArgs.cs
- DataServiceQuery.cs
- RichTextBox.cs
- TextTreePropertyUndoUnit.cs
- ContainerFilterService.cs
- ReadWriteObjectLock.cs
- ColorBlend.cs
- Tile.cs
- Accessible.cs
- SessionStateSection.cs
- ColorAnimation.cs
- PartitionedStream.cs
- Context.cs
- COM2PropertyBuilderUITypeEditor.cs
- ToolBarTray.cs
- StyleXamlParser.cs
- DataSourceCache.cs
- FillBehavior.cs
- TimeEnumHelper.cs
- XPathAncestorIterator.cs
- WebPartDisplayModeEventArgs.cs
- XmlArrayAttribute.cs
- DescendentsWalker.cs
- PlacementWorkspace.cs
- Vector3dCollection.cs
- ColorAnimationUsingKeyFrames.cs
- CfgParser.cs
- WMIGenerator.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- RelatedImageListAttribute.cs
- RecognizedAudio.cs
- HttpApplicationFactory.cs
- TextChange.cs
- DockPanel.cs
- ProxyHelper.cs
- NullableIntAverageAggregationOperator.cs
- ValueConversionAttribute.cs
- HtmlInputFile.cs
- EndpointInfoCollection.cs
- KeyFrames.cs
- EntityDataSourceValidationException.cs
- TypeGenericEnumerableViewSchema.cs
- AsynchronousChannel.cs
- ReversePositionQuery.cs
- SQLDateTimeStorage.cs
- RegexGroupCollection.cs
- XmlSchemaSimpleContent.cs
- PageBreakRecord.cs