Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Internal / SrgsCompiler / CfgSemanticTag.cs / 1 / CfgSemanticTag.cs
//---------------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // Description: // SAPI Cfg respresentation for a Semantic Tag // // History: // 5/1/2004 jeanfp Created from the Sapi Managed code //--------------------------------------------------------------------------- using System; using System.Globalization; using System.Speech.Internal.SrgsParser; using System.Runtime.InteropServices; namespace System.Speech.Internal.SrgsCompiler { ////// Summary description for CfgSemanticTag. /// [StructLayout (LayoutKind.Explicit)] internal struct CfgSemanticTag { //******************************************************************* // // Constructors // //******************************************************************* #region Constructors internal CfgSemanticTag (CfgSemanticTag cfgTag) { _flag1 = cfgTag._flag1; _flag2 = cfgTag._flag2; _flag3 = cfgTag._flag3; _propId = cfgTag._propId; _nameOffset = cfgTag._nameOffset; _varInt = 0; _valueOffset = cfgTag._valueOffset; _varDouble = cfgTag._varDouble; // Initialize StartArcIndex = 0x3FFFFF; } internal CfgSemanticTag (StringBlob symbols, CfgGrammar.CfgProperty property) { //CfgGrammar.TraceInformation ("CSemanticTag::CSemanticTag"); int iWord; _flag1 = _flag2 = _flag3 = 0; _valueOffset = 0; _varInt = 0; _varDouble = 0; _propId = property._ulId; if (property._pszName != null) { _nameOffset = symbols.Add(property._pszName, out iWord); } else { _nameOffset = 0; // Offset must be zero if no string } switch (property._comType) { case 0: case VarEnum.VT_BSTR: if (property._comValue != null) { _valueOffset = symbols.Add((string)property._comValue, out iWord); } else { _valueOffset = 0; // Offset must be zero if no string } break; case VarEnum.VT_I4: _varInt = (int) property._comValue; break; case VarEnum.VT_BOOL: _varInt = (bool) property._comValue ? unchecked ((int) 0xffff) : 0; break; case VarEnum.VT_R8: _varDouble = (double) property._comValue; break; default: System.Diagnostics.Debug.Assert (false, "Unknown Semantic Tag type"); break; } PropVariantType = property._comType; ArcIndex = 0; } #endregion //******************************************************************** // // Internal Properties // //******************************************************************* #region Internal Properties internal uint StartArcIndex { get { return _flag1 & 0x3FFFFF; } set { if (value > 0x3FFFFF) { XmlParser.ThrowSrgsException (SRID.TooManyArcs); } _flag1 &= ~(uint) 0x3FFFFF; _flag1 |= value; } } internal bool StartParallelEpsilonArc { get { return ((_flag1 & 0x400000) != 0); } set { if (value) { _flag1 |= 0x400000; } else { _flag1 &= ~(uint) 0x400000; } } } internal uint EndArcIndex { get { return _flag2 & 0x3FFFFF; } set { if (value > 0x3FFFFF) { XmlParser.ThrowSrgsException (SRID.TooManyArcs); } _flag2 &= ~(uint) 0x3FFFFF; _flag2 |= value; } } internal bool EndParallelEpsilonArc { get { return ((_flag2 & 0x400000) != 0); } set { if (value) { _flag2 |= 0x400000; } else { _flag2 &= ~(uint) 0x400000; } } } internal VarEnum PropVariantType { get { return (VarEnum) (_flag3 & 0xFF); } set { uint varType = (uint) value; if (varType > 0xFF) { XmlParser.ThrowSrgsException (SRID.TooManyArcs); } _flag3 &= ~(uint) 0xFF; _flag3 |= varType; } } internal uint ArcIndex { get { return (_flag3 >> 8) & 0x3FFFFF; } set { if (value > 0x3FFFFF) { XmlParser.ThrowSrgsException (SRID.TooManyArcs); } _flag3 &= ~((uint) 0x3FFFFF << 8); _flag3 |= value << 8; } } #if (CFGDUMP || VSCOMPILE) internal string DumpFlags { get { return string.Format (CultureInfo.InvariantCulture, "flag1: {0:x} flag2: {1:x} flag3: {2:x}", _flag1, _flag2, _flag3); } } #endif #endregion //******************************************************************** // // Internal Fields // //******************************************************************** #region Internal Fields // Should be in the private section but the order for parameters is key [FieldOffset (0)] private uint _flag1; [FieldOffset (4)] private uint _flag2; [FieldOffset (8)] private uint _flag3; [FieldOffset (12)] internal int _nameOffset; [FieldOffset (16)] internal uint _propId; [FieldOffset (20)] internal int _valueOffset; [FieldOffset (24)] internal int _varInt; [FieldOffset (24)] internal double _varDouble; #endregion } [Flags] internal enum GrammarOptions { KeyValuePairs = 0, MssV1 = 1, KeyValuePairSrgs = 2, IpaPhoneme = 4, W3cV1 = 8, STG = 0x10, TagFormat = KeyValuePairs | MssV1 | W3cV1 | KeyValuePairSrgs, SemanticInterpretation = MssV1 | W3cV1 }; } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // Description: // SAPI Cfg respresentation for a Semantic Tag // // History: // 5/1/2004 jeanfp Created from the Sapi Managed code //--------------------------------------------------------------------------- using System; using System.Globalization; using System.Speech.Internal.SrgsParser; using System.Runtime.InteropServices; namespace System.Speech.Internal.SrgsCompiler { ////// Summary description for CfgSemanticTag. /// [StructLayout (LayoutKind.Explicit)] internal struct CfgSemanticTag { //******************************************************************* // // Constructors // //******************************************************************* #region Constructors internal CfgSemanticTag (CfgSemanticTag cfgTag) { _flag1 = cfgTag._flag1; _flag2 = cfgTag._flag2; _flag3 = cfgTag._flag3; _propId = cfgTag._propId; _nameOffset = cfgTag._nameOffset; _varInt = 0; _valueOffset = cfgTag._valueOffset; _varDouble = cfgTag._varDouble; // Initialize StartArcIndex = 0x3FFFFF; } internal CfgSemanticTag (StringBlob symbols, CfgGrammar.CfgProperty property) { //CfgGrammar.TraceInformation ("CSemanticTag::CSemanticTag"); int iWord; _flag1 = _flag2 = _flag3 = 0; _valueOffset = 0; _varInt = 0; _varDouble = 0; _propId = property._ulId; if (property._pszName != null) { _nameOffset = symbols.Add(property._pszName, out iWord); } else { _nameOffset = 0; // Offset must be zero if no string } switch (property._comType) { case 0: case VarEnum.VT_BSTR: if (property._comValue != null) { _valueOffset = symbols.Add((string)property._comValue, out iWord); } else { _valueOffset = 0; // Offset must be zero if no string } break; case VarEnum.VT_I4: _varInt = (int) property._comValue; break; case VarEnum.VT_BOOL: _varInt = (bool) property._comValue ? unchecked ((int) 0xffff) : 0; break; case VarEnum.VT_R8: _varDouble = (double) property._comValue; break; default: System.Diagnostics.Debug.Assert (false, "Unknown Semantic Tag type"); break; } PropVariantType = property._comType; ArcIndex = 0; } #endregion //******************************************************************** // // Internal Properties // //******************************************************************* #region Internal Properties internal uint StartArcIndex { get { return _flag1 & 0x3FFFFF; } set { if (value > 0x3FFFFF) { XmlParser.ThrowSrgsException (SRID.TooManyArcs); } _flag1 &= ~(uint) 0x3FFFFF; _flag1 |= value; } } internal bool StartParallelEpsilonArc { get { return ((_flag1 & 0x400000) != 0); } set { if (value) { _flag1 |= 0x400000; } else { _flag1 &= ~(uint) 0x400000; } } } internal uint EndArcIndex { get { return _flag2 & 0x3FFFFF; } set { if (value > 0x3FFFFF) { XmlParser.ThrowSrgsException (SRID.TooManyArcs); } _flag2 &= ~(uint) 0x3FFFFF; _flag2 |= value; } } internal bool EndParallelEpsilonArc { get { return ((_flag2 & 0x400000) != 0); } set { if (value) { _flag2 |= 0x400000; } else { _flag2 &= ~(uint) 0x400000; } } } internal VarEnum PropVariantType { get { return (VarEnum) (_flag3 & 0xFF); } set { uint varType = (uint) value; if (varType > 0xFF) { XmlParser.ThrowSrgsException (SRID.TooManyArcs); } _flag3 &= ~(uint) 0xFF; _flag3 |= varType; } } internal uint ArcIndex { get { return (_flag3 >> 8) & 0x3FFFFF; } set { if (value > 0x3FFFFF) { XmlParser.ThrowSrgsException (SRID.TooManyArcs); } _flag3 &= ~((uint) 0x3FFFFF << 8); _flag3 |= value << 8; } } #if (CFGDUMP || VSCOMPILE) internal string DumpFlags { get { return string.Format (CultureInfo.InvariantCulture, "flag1: {0:x} flag2: {1:x} flag3: {2:x}", _flag1, _flag2, _flag3); } } #endif #endregion //******************************************************************** // // Internal Fields // //******************************************************************** #region Internal Fields // Should be in the private section but the order for parameters is key [FieldOffset (0)] private uint _flag1; [FieldOffset (4)] private uint _flag2; [FieldOffset (8)] private uint _flag3; [FieldOffset (12)] internal int _nameOffset; [FieldOffset (16)] internal uint _propId; [FieldOffset (20)] internal int _valueOffset; [FieldOffset (24)] internal int _varInt; [FieldOffset (24)] internal double _varDouble; #endregion } [Flags] internal enum GrammarOptions { KeyValuePairs = 0, MssV1 = 1, KeyValuePairSrgs = 2, IpaPhoneme = 4, W3cV1 = 8, STG = 0x10, TagFormat = KeyValuePairs | MssV1 | W3cV1 | KeyValuePairSrgs, SemanticInterpretation = MssV1 | W3cV1 }; } // 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
- DataTableReader.cs
- Visitor.cs
- Html32TextWriter.cs
- serverconfig.cs
- ServicePointManager.cs
- UnicastIPAddressInformationCollection.cs
- LogWriteRestartAreaAsyncResult.cs
- ContentElement.cs
- CDSCollectionETWBCLProvider.cs
- NotifyIcon.cs
- JapaneseLunisolarCalendar.cs
- ServiceMetadataContractBehavior.cs
- ParameterReplacerVisitor.cs
- FileDataSourceCache.cs
- UserNameSecurityTokenProvider.cs
- BezierSegment.cs
- FontFaceLayoutInfo.cs
- CodeSubDirectoriesCollection.cs
- SchemaManager.cs
- CompiledRegexRunner.cs
- _NegotiateClient.cs
- CompilerGlobalScopeAttribute.cs
- StreamGeometry.cs
- JavaScriptSerializer.cs
- FontStretch.cs
- WebResourceUtil.cs
- Rotation3D.cs
- XmlCollation.cs
- IconConverter.cs
- PerformanceCounterPermissionEntryCollection.cs
- BaseTemplateBuildProvider.cs
- ConnectivityStatus.cs
- DrawingAttributeSerializer.cs
- PictureBox.cs
- AvTraceFormat.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- DefinitionUpdate.cs
- FaultDesigner.cs
- SwitchAttribute.cs
- PropertyEmitterBase.cs
- RawAppCommandInputReport.cs
- SwitchExpression.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- DataTableReaderListener.cs
- Byte.cs
- SqlRowUpdatedEvent.cs
- SmiEventSink_DeferedProcessing.cs
- XmlEntity.cs
- DirectionalLight.cs
- FontStyleConverter.cs
- DictionaryBase.cs
- UnsafeNativeMethods.cs
- RuleProcessor.cs
- DataGridViewAutoSizeModeEventArgs.cs
- webproxy.cs
- CultureInfoConverter.cs
- StylusCaptureWithinProperty.cs
- ContainerParagraph.cs
- FileIOPermission.cs
- BaseParser.cs
- AssociationTypeEmitter.cs
- DrawingBrush.cs
- RangeEnumerable.cs
- SafeBitVector32.cs
- ISAPIApplicationHost.cs
- SafeCertificateContext.cs
- DataGridCellsPresenter.cs
- DataBindingList.cs
- BooleanProjectedSlot.cs
- TokenBasedSet.cs
- SystemColors.cs
- WizardPanel.cs
- HiddenFieldPageStatePersister.cs
- Vector3DKeyFrameCollection.cs
- HMACMD5.cs
- WindowHelperService.cs
- BroadcastEventHelper.cs
- JavaScriptString.cs
- Material.cs
- __Error.cs
- EntityViewContainer.cs
- PrimitiveCodeDomSerializer.cs
- CursorEditor.cs
- ServiceBuildProvider.cs
- wmiprovider.cs
- DesignerActionVerbItem.cs
- ContentDisposition.cs
- ItemMap.cs
- BindingContext.cs
- UnhandledExceptionEventArgs.cs
- DateTimeHelper.cs
- ValidationErrorInfo.cs
- GradientStop.cs
- ProcessThread.cs
- UnsafeNativeMethods.cs
- RepeatInfo.cs
- WebBrowsableAttribute.cs
- XmlReturnReader.cs
- OpenTypeLayoutCache.cs
- AccessibleObject.cs