Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / WriteStateInfoBase.cs / 1305376 / WriteStateInfoBase.cs
namespace System.Net.Mime { internal abstract class WriteStateInfoBase { protected byte[] _header; protected byte[] _footer; protected int _maxLineLength; protected byte[] buffer; protected int _mimeHeaderLength; //1024 was originally set in the encoding streams protected const int defaultBufferSize = 1024; internal WriteStateInfoBase() { this.buffer = new byte[defaultBufferSize]; this._header = new byte[0]; ; this._footer = new byte[0]; this._maxLineLength = EncodedStreamFactory.DefaultMaxLineLength; this._mimeHeaderLength = 0; } internal WriteStateInfoBase(int bufferSize, byte[] header, byte[] footer, int maxLineLength) { this.buffer = new byte[bufferSize]; this._header = header; this._footer = footer; this._maxLineLength = maxLineLength; this._mimeHeaderLength = 0; } internal int FooterLength { get { return _footer.Length; } } //The actual length of the header that this will be appended to //e.g. Subject : //this length is taken into account for folding on the first line internal int MimeHeaderLength { get { return this._mimeHeaderLength; } set { this._mimeHeaderLength = value; } } internal int HeaderLength { get { return _header.Length; } } internal byte[] Footer { get { return _footer; } } internal byte[] Header { get { return _header; } } internal byte[] Buffer { get { return this.buffer; } } internal int Length { get; set; } internal int CurrentLineLength { get; set; } //attempt to increase the buffer length. //returns false if buffer length is at int(max) internal void ResizeBuffer() { int newsize = buffer.Length * 2; //try to resize- if the machine doesn't have the memory to resize just let it throw byte[] tempBuffer = new byte[newsize]; buffer.CopyTo(tempBuffer, 0); this.buffer = tempBuffer; } internal void AppendHeader() { if (this.Header != null) { this.Header.CopyTo(this.buffer, this.Length); this.CurrentLineLength += this.HeaderLength; this.Length += this.HeaderLength; } } internal void AppendFooter() { if (this.Footer != null) { this.Footer.CopyTo(this.buffer, this.Length); this.CurrentLineLength += this.FooterLength; this.Length += this.FooterLength; } } internal int MaxLineLength { get { return this._maxLineLength; } } } } // 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
- BufferModesCollection.cs
- ManagementScope.cs
- WebProxyScriptElement.cs
- ErrorInfoXmlDocument.cs
- Crypto.cs
- Triplet.cs
- RuleElement.cs
- TextParagraphProperties.cs
- EntityDataSourceContextDisposingEventArgs.cs
- BuildProviderUtils.cs
- ItemCheckEvent.cs
- XMLSyntaxException.cs
- DisplayInformation.cs
- PromptBuilder.cs
- CachedBitmap.cs
- EdmFunction.cs
- TemplatePropertyEntry.cs
- ErrorProvider.cs
- StyleSelector.cs
- AutomationTextAttribute.cs
- UnknownBitmapDecoder.cs
- ValidationPropertyAttribute.cs
- PointConverter.cs
- SelectedCellsChangedEventArgs.cs
- HtmlProps.cs
- TimeIntervalCollection.cs
- FocusWithinProperty.cs
- NativeMethods.cs
- RadioButtonRenderer.cs
- ProfileParameter.cs
- ComboBoxRenderer.cs
- XmlArrayAttribute.cs
- SynchronizedInputAdaptor.cs
- UnionCqlBlock.cs
- xmlsaver.cs
- SqlTypeConverter.cs
- XmlNodeChangedEventArgs.cs
- DPAPIProtectedConfigurationProvider.cs
- WebPartAddingEventArgs.cs
- EventSourceCreationData.cs
- GridViewColumnCollectionChangedEventArgs.cs
- _Rfc2616CacheValidators.cs
- PanelDesigner.cs
- DataListDesigner.cs
- PlaceHolder.cs
- DataRelationPropertyDescriptor.cs
- TaskSchedulerException.cs
- Int32KeyFrameCollection.cs
- CodeMethodReturnStatement.cs
- linebase.cs
- InputReport.cs
- MessagePropertyFilter.cs
- XmlAnyElementAttributes.cs
- SeekableMessageNavigator.cs
- RenderTargetBitmap.cs
- TraceContext.cs
- StreamingContext.cs
- ModifyActivitiesPropertyDescriptor.cs
- SafeRightsManagementSessionHandle.cs
- SqlErrorCollection.cs
- DataReceivedEventArgs.cs
- WsatServiceAddress.cs
- FixedTextView.cs
- DataSourceBooleanViewSchemaConverter.cs
- PLINQETWProvider.cs
- PowerEase.cs
- ParallelQuery.cs
- DataColumnMapping.cs
- Package.cs
- TableLayoutSettings.cs
- AnimationException.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- PerformanceCounterManager.cs
- DSASignatureDeformatter.cs
- CalendarModeChangedEventArgs.cs
- PnrpPermission.cs
- OdbcHandle.cs
- Events.cs
- XPathSelfQuery.cs
- ErrorFormatter.cs
- ListGeneralPage.cs
- MenuItem.cs
- WebPartDescriptionCollection.cs
- MinimizableAttributeTypeConverter.cs
- PropertyChangeTracker.cs
- XmlSchema.cs
- StringPropertyBuilder.cs
- PageClientProxyGenerator.cs
- unsafeIndexingFilterStream.cs
- WebPartZoneAutoFormat.cs
- XmlDictionaryReaderQuotas.cs
- RootBuilder.cs
- XamlClipboardData.cs
- TriState.cs
- UnsafeNativeMethods.cs
- cookiecollection.cs
- ReadOnlyPropertyMetadata.cs
- Table.cs
- ParseChildrenAsPropertiesAttribute.cs
- TreeSet.cs