Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Synthesis / VoiceInfo.cs / 1 / VoiceInfo.cs
//------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------
using System;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Speech.AudioFormat;
using System.Speech.Internal;
using System.Speech.Internal.Synthesis;
using System.Speech.Internal.ObjectTokens;
using System.Xml;
#pragma warning disable 1634, 1691 // Allows suppression of certain PreSharp messages.
namespace System.Speech.Synthesis
{
///
/// TODOC
///
[DebuggerDisplay ("{(_name != null ? \"'\" + _name + \"' \" : \"\") + (_culture != null ? \" '\" + _culture.ToString () + \"' \" : \"\") + (_gender != VoiceGender.NotSet ? \" '\" + _gender.ToString () + \"' \" : \"\") + (_age != VoiceAge.NotSet ? \" '\" + _age.ToString () + \"' \" : \"\") + (_variant > 0 ? \" \" + _variant.ToString () : \"\")}")]
[Serializable]
public class VoiceInfo
{
//*******************************************************************
//
// Constructors
//
//*******************************************************************
#region Constructors
///
/// TODOC
///
///
internal VoiceInfo (string name)
{
Helpers.ThrowIfEmptyOrNull (name, "name");
_name = name;
}
///
/// TODOC
///
///
internal VoiceInfo (CultureInfo culture)
{
// Fails if no culture is provided
Helpers.ThrowIfNull (culture, "culture");
if (culture.Equals (CultureInfo.InvariantCulture))
{
throw new ArgumentException (SR.Get (SRID.InvariantCultureInfo), "culture");
}
_culture = culture;
}
internal VoiceInfo (VoiceObjectToken token)
{
_registryKeyPath = token._sKeyId;
// Retriece the token name
_id = token.Name;
// Retrieve default display name
_description = token.Description;
// Get other attributes
_name = token.TokenName ();
SsmlParserHelpers.TryConvertAge (token.Age.ToLowerInvariant (), out _age);
SsmlParserHelpers.TryConvertGender (token.Gender.ToLowerInvariant (), out _gender);
string langId;
if (token.Attributes.TryGetString ("Language", out langId))
{
_culture = SapiAttributeParser.GetCultureInfoFromLanguageString (langId);
}
string assemblyName;
if (token.TryGetString ("Assembly", out assemblyName))
{
_assemblyName = assemblyName;
}
string clsid;
if (token.TryGetString ("CLSID", out clsid))
{
_clsid = clsid;
}
if (token.Attributes != null)
{
// Enum all values and add to custom table
foreach (string keyName in token.Attributes.GetValueNames ())
{
string attributeValue;
if (token.Attributes.TryGetString (keyName, out attributeValue))
{
_attributes.InternalDictionary.Add (keyName, attributeValue);
}
}
}
#if !SPEECHSERVER
string audioFormats;
if (token.Attributes != null && token.Attributes.TryGetString ("AudioFormats", out audioFormats))
{
_audioFormats = new ReadOnlyCollection (SapiAttributeParser.GetAudioFormatsFromString (audioFormats));
}
else
{
_audioFormats = new ReadOnlyCollection (new List ());
}
#else
_category = token.VoiceCategory;
#endif
}
///
/// TODOC
///
///
internal VoiceInfo (VoiceGender gender)
{
_gender = gender;
}
///
/// TODOC
///
///
///
internal VoiceInfo (VoiceGender gender, VoiceAge age)
{
_gender = gender;
_age = age;
}
///
/// TODOC
///
///
///
///
internal VoiceInfo (VoiceGender gender, VoiceAge age, int voiceAlternate)
{
if (voiceAlternate < 0)
{
throw new ArgumentOutOfRangeException ("voiceAlternate", SR.Get (SRID.PromptBuilderInvalidVariant));
}
_gender = gender;
_age = age;
_variant = voiceAlternate + 1;
}
#if SPEECHSERVER
///
/// TODOC
///
///
///
///
///
internal VoiceInfo (CultureInfo culture, VoiceGender gender, string name, VoiceAge age) : this (culture)
{
_name = name;
_gender = gender;
_age = age;
}
#endif
#endregion
//********************************************************************
//
// Public Methods
//
//*******************************************************************
#region public Methods
///
/// Tests whether two AutomationIdentifier objects are equivalent
///
public override bool Equals (object obj)
{
// PreSharp doesn't understand that if obj is null then this will return false.
#pragma warning disable 6506
VoiceInfo voice = obj as VoiceInfo;
return voice != null
&& _name == voice._name
&& (_age == voice._age || _age == VoiceAge.NotSet || voice._age == VoiceAge.NotSet)
&& (_gender == voice._gender || _gender == VoiceGender.NotSet || voice._gender == VoiceGender.NotSet)
&& (_culture == null || voice._culture == null || _culture.Equals (voice._culture));
#pragma warning restore 6506
}
///
/// Overrides Object.GetHashCode()
///
public override int GetHashCode ()
{
return _name.GetHashCode ();
}
#endregion
//********************************************************************
//
// Public Properties
//
//********************************************************************
#region public Properties
///
/// TODOC
///
///
public VoiceGender Gender
{
get
{
return _gender;
}
}
///
/// TODOC
///
///
public VoiceAge Age
{
get
{
return _age;
}
}
///
/// TODOC
///
///
public string Name
{
get
{
return _name;
}
}
///
/// TODOC
///
/// Return a copy of the internal Language set. This disable client
/// applications to modify the internal languages list.
///
///
public CultureInfo Culture
{
get
{
return _culture;
}
}
///
/// TODOC
///
///
public string Id
{
get
{
return _id;
}
}
///
/// TODOC
///
///
public string Description
{
get
{
return _description != null ? _description : string.Empty;
}
}
#if !SPEECHSERVER
///
/// TODOC
///
///
[EditorBrowsable (EditorBrowsableState.Advanced)]
public ReadOnlyCollection SupportedAudioFormats
{
get
{
return _audioFormats;
}
}
#endif
///
/// TODOC
///
///
[EditorBrowsable (EditorBrowsableState.Advanced)]
public IDictionary AdditionalInfo
{
get
{
return _attributes;
}
}
#endregion
//*******************************************************************
//
// Internal Methods
//
//********************************************************************
#region Internal Methods
internal static bool ValidateGender (VoiceGender gender)
{
return gender == VoiceGender.Female || gender == VoiceGender.Male || gender == VoiceGender.Neutral || gender == VoiceGender.NotSet;
}
internal static bool ValidateAge (VoiceAge age)
{
return age == VoiceAge.Adult || age == VoiceAge.Child || age == VoiceAge.NotSet || age == VoiceAge.Senior || age == VoiceAge.Teen;
}
#endregion
//*******************************************************************
//
// Internal Property
//
//*******************************************************************
#region Internal Property
///
/// TODOC
///
///
internal int Variant
{
get
{
return _variant;
}
}
///
/// TODOC
///
///
internal string AssemblyName
{
get
{
return _assemblyName;
}
}
///
/// TODOC
///
///
internal string Clsid
{
get
{
return _clsid;
}
}
///
/// TODOC
///
///
internal string RegistryKeyPath
{
get
{
return _registryKeyPath;
}
}
#if SPEECHSERVER
internal VoiceCategory VoiceCategory
{
get
{
return _category;
}
}
#endif
#endregion
//*******************************************************************
//
// Private Fields
//
//********************************************************************
#region Private Fields
private string _name;
private CultureInfo _culture;
private VoiceGender _gender = VoiceGender.NotSet;
private VoiceAge _age;
private int _variant = -1;
[NonSerialized]
private string _id;
[NonSerialized]
private string _registryKeyPath;
[NonSerialized]
private string _assemblyName;
[NonSerialized]
private string _clsid;
[NonSerialized]
private string _description;
[NonSerialized]
private ReadOnlyDictionary _attributes = new ReadOnlyDictionary ();
#if !SPEECHSERVER
[NonSerialized]
private ReadOnlyCollection _audioFormats;
#else
VoiceCategory _category;
#endif
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------
using System;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Speech.AudioFormat;
using System.Speech.Internal;
using System.Speech.Internal.Synthesis;
using System.Speech.Internal.ObjectTokens;
using System.Xml;
#pragma warning disable 1634, 1691 // Allows suppression of certain PreSharp messages.
namespace System.Speech.Synthesis
{
///
/// TODOC
///
[DebuggerDisplay ("{(_name != null ? \"'\" + _name + \"' \" : \"\") + (_culture != null ? \" '\" + _culture.ToString () + \"' \" : \"\") + (_gender != VoiceGender.NotSet ? \" '\" + _gender.ToString () + \"' \" : \"\") + (_age != VoiceAge.NotSet ? \" '\" + _age.ToString () + \"' \" : \"\") + (_variant > 0 ? \" \" + _variant.ToString () : \"\")}")]
[Serializable]
public class VoiceInfo
{
//*******************************************************************
//
// Constructors
//
//*******************************************************************
#region Constructors
///
/// TODOC
///
///
internal VoiceInfo (string name)
{
Helpers.ThrowIfEmptyOrNull (name, "name");
_name = name;
}
///
/// TODOC
///
///
internal VoiceInfo (CultureInfo culture)
{
// Fails if no culture is provided
Helpers.ThrowIfNull (culture, "culture");
if (culture.Equals (CultureInfo.InvariantCulture))
{
throw new ArgumentException (SR.Get (SRID.InvariantCultureInfo), "culture");
}
_culture = culture;
}
internal VoiceInfo (VoiceObjectToken token)
{
_registryKeyPath = token._sKeyId;
// Retriece the token name
_id = token.Name;
// Retrieve default display name
_description = token.Description;
// Get other attributes
_name = token.TokenName ();
SsmlParserHelpers.TryConvertAge (token.Age.ToLowerInvariant (), out _age);
SsmlParserHelpers.TryConvertGender (token.Gender.ToLowerInvariant (), out _gender);
string langId;
if (token.Attributes.TryGetString ("Language", out langId))
{
_culture = SapiAttributeParser.GetCultureInfoFromLanguageString (langId);
}
string assemblyName;
if (token.TryGetString ("Assembly", out assemblyName))
{
_assemblyName = assemblyName;
}
string clsid;
if (token.TryGetString ("CLSID", out clsid))
{
_clsid = clsid;
}
if (token.Attributes != null)
{
// Enum all values and add to custom table
foreach (string keyName in token.Attributes.GetValueNames ())
{
string attributeValue;
if (token.Attributes.TryGetString (keyName, out attributeValue))
{
_attributes.InternalDictionary.Add (keyName, attributeValue);
}
}
}
#if !SPEECHSERVER
string audioFormats;
if (token.Attributes != null && token.Attributes.TryGetString ("AudioFormats", out audioFormats))
{
_audioFormats = new ReadOnlyCollection (SapiAttributeParser.GetAudioFormatsFromString (audioFormats));
}
else
{
_audioFormats = new ReadOnlyCollection (new List ());
}
#else
_category = token.VoiceCategory;
#endif
}
///
/// TODOC
///
///
internal VoiceInfo (VoiceGender gender)
{
_gender = gender;
}
///
/// TODOC
///
///
///
internal VoiceInfo (VoiceGender gender, VoiceAge age)
{
_gender = gender;
_age = age;
}
///
/// TODOC
///
///
///
///
internal VoiceInfo (VoiceGender gender, VoiceAge age, int voiceAlternate)
{
if (voiceAlternate < 0)
{
throw new ArgumentOutOfRangeException ("voiceAlternate", SR.Get (SRID.PromptBuilderInvalidVariant));
}
_gender = gender;
_age = age;
_variant = voiceAlternate + 1;
}
#if SPEECHSERVER
///
/// TODOC
///
///
///
///
///
internal VoiceInfo (CultureInfo culture, VoiceGender gender, string name, VoiceAge age) : this (culture)
{
_name = name;
_gender = gender;
_age = age;
}
#endif
#endregion
//********************************************************************
//
// Public Methods
//
//*******************************************************************
#region public Methods
///
/// Tests whether two AutomationIdentifier objects are equivalent
///
public override bool Equals (object obj)
{
// PreSharp doesn't understand that if obj is null then this will return false.
#pragma warning disable 6506
VoiceInfo voice = obj as VoiceInfo;
return voice != null
&& _name == voice._name
&& (_age == voice._age || _age == VoiceAge.NotSet || voice._age == VoiceAge.NotSet)
&& (_gender == voice._gender || _gender == VoiceGender.NotSet || voice._gender == VoiceGender.NotSet)
&& (_culture == null || voice._culture == null || _culture.Equals (voice._culture));
#pragma warning restore 6506
}
///
/// Overrides Object.GetHashCode()
///
public override int GetHashCode ()
{
return _name.GetHashCode ();
}
#endregion
//********************************************************************
//
// Public Properties
//
//********************************************************************
#region public Properties
///
/// TODOC
///
///
public VoiceGender Gender
{
get
{
return _gender;
}
}
///
/// TODOC
///
///
public VoiceAge Age
{
get
{
return _age;
}
}
///
/// TODOC
///
///
public string Name
{
get
{
return _name;
}
}
///
/// TODOC
///
/// Return a copy of the internal Language set. This disable client
/// applications to modify the internal languages list.
///
///
public CultureInfo Culture
{
get
{
return _culture;
}
}
///
/// TODOC
///
///
public string Id
{
get
{
return _id;
}
}
///
/// TODOC
///
///
public string Description
{
get
{
return _description != null ? _description : string.Empty;
}
}
#if !SPEECHSERVER
///
/// TODOC
///
///
[EditorBrowsable (EditorBrowsableState.Advanced)]
public ReadOnlyCollection SupportedAudioFormats
{
get
{
return _audioFormats;
}
}
#endif
///
/// TODOC
///
///
[EditorBrowsable (EditorBrowsableState.Advanced)]
public IDictionary AdditionalInfo
{
get
{
return _attributes;
}
}
#endregion
//*******************************************************************
//
// Internal Methods
//
//********************************************************************
#region Internal Methods
internal static bool ValidateGender (VoiceGender gender)
{
return gender == VoiceGender.Female || gender == VoiceGender.Male || gender == VoiceGender.Neutral || gender == VoiceGender.NotSet;
}
internal static bool ValidateAge (VoiceAge age)
{
return age == VoiceAge.Adult || age == VoiceAge.Child || age == VoiceAge.NotSet || age == VoiceAge.Senior || age == VoiceAge.Teen;
}
#endregion
//*******************************************************************
//
// Internal Property
//
//*******************************************************************
#region Internal Property
///
/// TODOC
///
///
internal int Variant
{
get
{
return _variant;
}
}
///
/// TODOC
///
///
internal string AssemblyName
{
get
{
return _assemblyName;
}
}
///
/// TODOC
///
///
internal string Clsid
{
get
{
return _clsid;
}
}
///
/// TODOC
///
///
internal string RegistryKeyPath
{
get
{
return _registryKeyPath;
}
}
#if SPEECHSERVER
internal VoiceCategory VoiceCategory
{
get
{
return _category;
}
}
#endif
#endregion
//*******************************************************************
//
// Private Fields
//
//********************************************************************
#region Private Fields
private string _name;
private CultureInfo _culture;
private VoiceGender _gender = VoiceGender.NotSet;
private VoiceAge _age;
private int _variant = -1;
[NonSerialized]
private string _id;
[NonSerialized]
private string _registryKeyPath;
[NonSerialized]
private string _assemblyName;
[NonSerialized]
private string _clsid;
[NonSerialized]
private string _description;
[NonSerialized]
private ReadOnlyDictionary _attributes = new ReadOnlyDictionary ();
#if !SPEECHSERVER
[NonSerialized]
private ReadOnlyCollection _audioFormats;
#else
VoiceCategory _category;
#endif
#endregion
}
}
// 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
- OracleDataReader.cs
- CodeExporter.cs
- RequestChannelBinder.cs
- SharedPersonalizationStateInfo.cs
- WindowsButton.cs
- AnnotationStore.cs
- WebPartCollection.cs
- UrlMappingsModule.cs
- ScopelessEnumAttribute.cs
- DataRelationCollection.cs
- Unit.cs
- WorkflowApplicationTerminatedException.cs
- FontFaceLayoutInfo.cs
- Emitter.cs
- PowerModeChangedEventArgs.cs
- ConsoleTraceListener.cs
- Menu.cs
- OutputCacheSettingsSection.cs
- XmlUrlResolver.cs
- ButtonBaseAutomationPeer.cs
- HitTestWithGeometryDrawingContextWalker.cs
- WebPartAddingEventArgs.cs
- KeyNotFoundException.cs
- ZipPackagePart.cs
- ProfileWorkflowElement.cs
- ILGenerator.cs
- RowType.cs
- NegationPusher.cs
- MailSettingsSection.cs
- _AutoWebProxyScriptWrapper.cs
- VectorAnimationUsingKeyFrames.cs
- MethodBuilder.cs
- Trigger.cs
- DbXmlEnabledProviderManifest.cs
- WebRequestModuleElement.cs
- InputLangChangeEvent.cs
- WebPartDescriptionCollection.cs
- SearchExpression.cs
- EventLogEntryCollection.cs
- ValidationEventArgs.cs
- AttachedAnnotationChangedEventArgs.cs
- HitTestParameters3D.cs
- BufferedStream2.cs
- DataObject.cs
- SecurityUtils.cs
- DataGridViewLayoutData.cs
- GeneralTransform3DCollection.cs
- RelationshipDetailsCollection.cs
- WebPartExportVerb.cs
- AddInStore.cs
- CompoundFileReference.cs
- EditingMode.cs
- EncoderFallback.cs
- UnsettableComboBox.cs
- StateInitialization.cs
- Constraint.cs
- MultiByteCodec.cs
- HttpModulesSection.cs
- GeometryHitTestResult.cs
- StrongNameUtility.cs
- XmlDocumentType.cs
- URLIdentityPermission.cs
- Base64Stream.cs
- ObjectStateEntryDbDataRecord.cs
- RequestCacheValidator.cs
- MaskInputRejectedEventArgs.cs
- StringUtil.cs
- ToolStripDropDownButton.cs
- PhysicalFontFamily.cs
- OutputWindow.cs
- StringUtil.cs
- XpsS0ValidatingLoader.cs
- ArrayTypeMismatchException.cs
- DependencyObjectProvider.cs
- RootBrowserWindow.cs
- RepeaterItem.cs
- DataTransferEventArgs.cs
- CharacterString.cs
- DescendentsWalker.cs
- VirtualizingPanel.cs
- RuntimeCompatibilityAttribute.cs
- FollowerQueueCreator.cs
- ToolboxComponentsCreatedEventArgs.cs
- ProfileSection.cs
- ReflectionHelper.cs
- FieldDescriptor.cs
- FastEncoderWindow.cs
- ViewStateModeByIdAttribute.cs
- PolicyChain.cs
- AesManaged.cs
- EdmScalarPropertyAttribute.cs
- IsolatedStoragePermission.cs
- InnerItemCollectionView.cs
- XmlIlVisitor.cs
- BoolExpressionVisitors.cs
- RegexInterpreter.cs
- EventPropertyMap.cs
- Dispatcher.cs
- MarkupExtensionParser.cs
- ColumnResult.cs