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
- DataListItem.cs
- AspCompat.cs
- Set.cs
- XmlSiteMapProvider.cs
- TrackBarRenderer.cs
- ResourcePool.cs
- PopupRoot.cs
- assertwrapper.cs
- NullableIntMinMaxAggregationOperator.cs
- UIElement3DAutomationPeer.cs
- CatalogPartChrome.cs
- RbTree.cs
- NumberSubstitution.cs
- Thumb.cs
- UserControl.cs
- CompilerInfo.cs
- SecurityTokenParametersEnumerable.cs
- XmlBoundElement.cs
- PropertyPath.cs
- NativeMethods.cs
- Brush.cs
- Line.cs
- ConfigXmlDocument.cs
- NotifyCollectionChangedEventArgs.cs
- OleServicesContext.cs
- PermissionListSet.cs
- OracleMonthSpan.cs
- DataGridViewRowEventArgs.cs
- ServiceMoniker.cs
- CompositeFontParser.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- FixedSOMPageElement.cs
- LongSumAggregationOperator.cs
- TrackingParameters.cs
- AttachInfo.cs
- TableParagraph.cs
- AttributeEmitter.cs
- Vector3D.cs
- CriticalHandle.cs
- HttpContextServiceHost.cs
- Decoder.cs
- EqualityComparer.cs
- Double.cs
- SR.cs
- UMPAttributes.cs
- Rect.cs
- TextFormatterHost.cs
- InputLangChangeRequestEvent.cs
- LightweightCodeGenerator.cs
- ReverseInheritProperty.cs
- DataBoundControlDesigner.cs
- Header.cs
- _CookieModule.cs
- CustomErrorCollection.cs
- NetworkInformationPermission.cs
- DocumentSequence.cs
- HttpBrowserCapabilitiesBase.cs
- ClickablePoint.cs
- ProtocolsConfiguration.cs
- XpsFilter.cs
- InkCanvasInnerCanvas.cs
- InvalidAsynchronousStateException.cs
- log.cs
- PageThemeCodeDomTreeGenerator.cs
- GetTokenRequest.cs
- RegexRunnerFactory.cs
- OutputCacheSettingsSection.cs
- BufferAllocator.cs
- MaterialCollection.cs
- HwndMouseInputProvider.cs
- UIPropertyMetadata.cs
- ResourcePart.cs
- FontStretches.cs
- AsyncDataRequest.cs
- RepeatButtonAutomationPeer.cs
- ToolZoneDesigner.cs
- AttributeQuery.cs
- Decoder.cs
- FormsAuthentication.cs
- MonikerHelper.cs
- CompilerGlobalScopeAttribute.cs
- UnsafeNativeMethods.cs
- PriorityChain.cs
- DayRenderEvent.cs
- ObjectListSelectEventArgs.cs
- FileLogRecordStream.cs
- TreeNodeClickEventArgs.cs
- ExecutedRoutedEventArgs.cs
- RijndaelManagedTransform.cs
- ZipIOModeEnforcingStream.cs
- RegexCompiler.cs
- InputLanguage.cs
- ListItemParagraph.cs
- NameObjectCollectionBase.cs
- DataGridColumnHeaderCollection.cs
- ContentControl.cs
- BaseCodeDomTreeGenerator.cs
- NonDualMessageSecurityOverHttpElement.cs
- ValidationManager.cs
- WebServicesSection.cs