Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / IndexObject.cs / 1 / IndexObject.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.Collections.Specialized; using System.Collections.Generic; using System.IO; using System.Runtime.InteropServices; using System.Threading; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; // // Summary: // Internal class that unifies the location that index values are created, // and how they are created. // // Remarks: // This class is for internal store use only. // internal class IndexObject { object[] m_objects; byte[] m_compiledForm; // // Summary: // Creates an instance of an IndexObject using uncompiled objects // // Remarks: // // Parameters: // objects: the list of object that will make this index entry. // public IndexObject( object[] objects ) { m_objects = objects; } // // Summary: // Creates an instance of an IndexObject with a raw compiled form // // Remarks: // // Parameters: // compiledForm: the binary of the compiled form to use. // public IndexObject( byte[] compiledForm ) { m_compiledForm = compiledForm; } // // Summary: // Gets a bool indicating that the data is compiled // public bool IsCompiled { get{ return null != m_compiledForm; } } // // Summary: // Gets a bool indicating if the object has data to compile // public bool CanCompile { get{ return null != m_objects; } } // // Summary: // Gets a pointer to the raw compiled buffer // public byte[] CompiledForm { get{ return m_compiledForm; } } // // Summary: // Gets a pointer to the uncompiled object array // public object[] ObjectList { get{ return m_objects; } } // // Summary: // Compiles the object using the specified definintion // // Parameters: // indexDef: The indexDef that defines how to compile this object. // internal void Compile( SecondaryIndexDefinition indexDef ) { if( !CanCompile ) { throw IDT.ThrowHelperError( new InvalidOperationException( SR.GetString( SR.StoreIndexObjectCanNotBeCompiled ) ) ); } byte[] buffer = new byte[ SecondaryIndexItem.HashValueSize ]; int index = 0; for( int i=0;ibuffer.Length ) { throw IDT.ThrowHelperError( new InvalidOperationException( SR.GetString( SR.StoreIndexObjectBufferOverflow, indexDef.Name ) ) ); } Array.Copy( canonicalForm, 0, buffer, index, canonicalForm.Length ); index += canonicalForm.Length; } m_compiledForm = buffer; } } } // 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
- DeleteIndexBinder.cs
- PropertyGroupDescription.cs
- TextProviderWrapper.cs
- UrlPropertyAttribute.cs
- NativeActivityFaultContext.cs
- baseshape.cs
- PointCollectionConverter.cs
- Stopwatch.cs
- TextElementEnumerator.cs
- sqlnorm.cs
- RSAPKCS1SignatureFormatter.cs
- TypographyProperties.cs
- ButtonRenderer.cs
- EnvelopedSignatureTransform.cs
- ImageInfo.cs
- DesignerVerbCollection.cs
- __ComObject.cs
- GetRecipientListRequest.cs
- _WebProxyDataBuilder.cs
- GroupBoxAutomationPeer.cs
- DependencyObjectCodeDomSerializer.cs
- X509CertificateCollection.cs
- TTSEvent.cs
- WorkBatch.cs
- XamlTypeMapper.cs
- _LocalDataStore.cs
- TouchDevice.cs
- HttpCachePolicyElement.cs
- XmlIgnoreAttribute.cs
- ExpressionVisitor.cs
- BitmapPalettes.cs
- DefaultProxySection.cs
- FlowPanelDesigner.cs
- Roles.cs
- PerformanceCounterManager.cs
- SqlClientMetaDataCollectionNames.cs
- StackSpiller.cs
- MemberHolder.cs
- ProcessModelSection.cs
- DataGridPagerStyle.cs
- BasicKeyConstraint.cs
- ShimAsPublicXamlType.cs
- Interop.cs
- X509RawDataKeyIdentifierClause.cs
- CmsInterop.cs
- DuplexSecurityProtocolFactory.cs
- PackagePart.cs
- StatusBarAutomationPeer.cs
- XmlSerializerVersionAttribute.cs
- XmlAttributes.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- EUCJPEncoding.cs
- AccessDataSourceView.cs
- X509Extension.cs
- TimeSpanConverter.cs
- Light.cs
- tooltip.cs
- WindowClosedEventArgs.cs
- ArraySet.cs
- TypeInfo.cs
- AnnotationMap.cs
- DaylightTime.cs
- Viewport3DVisual.cs
- GregorianCalendarHelper.cs
- Utilities.cs
- Fonts.cs
- Command.cs
- SoapAttributeOverrides.cs
- SqlConnectionPoolProviderInfo.cs
- VirtualizingStackPanel.cs
- NominalTypeEliminator.cs
- RuleProcessor.cs
- FrameworkRichTextComposition.cs
- _HelperAsyncResults.cs
- BufferBuilder.cs
- SessionStateUtil.cs
- ClipboardData.cs
- OracleConnectionStringBuilder.cs
- Thumb.cs
- UnsafeNativeMethodsTablet.cs
- TrackPoint.cs
- hwndwrapper.cs
- SessionState.cs
- OleDbInfoMessageEvent.cs
- UnsafeNativeMethods.cs
- Propagator.JoinPropagator.cs
- CheckBoxBaseAdapter.cs
- TextEditorMouse.cs
- NativeStructs.cs
- DictionarySurrogate.cs
- XmlElementAttributes.cs
- XhtmlConformanceSection.cs
- DesignerActionUIService.cs
- TraceXPathNavigator.cs
- ConnectionProviderAttribute.cs
- PrivateFontCollection.cs
- CodeSubDirectoriesCollection.cs
- CheckBox.cs
- TagMapInfo.cs
- ListViewItem.cs