Code:
/ 4.0 / 4.0 / 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. 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
- SQLInt16Storage.cs
- RotationValidation.cs
- ResourceReferenceExpression.cs
- TextServicesHost.cs
- StickyNoteHelper.cs
- DesignParameter.cs
- ProxySimple.cs
- SlipBehavior.cs
- WithStatement.cs
- webclient.cs
- Misc.cs
- UnsafeNetInfoNativeMethods.cs
- SyntaxCheck.cs
- PageAdapter.cs
- PenContexts.cs
- RuleAction.cs
- ScrollViewerAutomationPeer.cs
- ScaleTransform.cs
- webeventbuffer.cs
- HashAlgorithm.cs
- DataObjectSettingDataEventArgs.cs
- SiteMapNodeItemEventArgs.cs
- CaseKeyBox.xaml.cs
- TableRowCollection.cs
- ValidationPropertyAttribute.cs
- XmlSerializerVersionAttribute.cs
- PartialTrustHelpers.cs
- HttpResponse.cs
- DesignerProperties.cs
- BezierSegment.cs
- TextEditorLists.cs
- lengthconverter.cs
- KnownTypesProvider.cs
- TemplateControl.cs
- SafeUserTokenHandle.cs
- ResetableIterator.cs
- TemplatePropertyEntry.cs
- Double.cs
- ImageBrush.cs
- ExtensibleClassFactory.cs
- CalendarItem.cs
- MultiView.cs
- DbProviderServices.cs
- ToolboxItemAttribute.cs
- VarRefManager.cs
- ProgressBarRenderer.cs
- RegistrationServices.cs
- DataTableExtensions.cs
- ObjectListShowCommandsEventArgs.cs
- OperationResponse.cs
- sqlpipe.cs
- IDispatchConstantAttribute.cs
- RelationshipType.cs
- WebPartCatalogCloseVerb.cs
- TaiwanCalendar.cs
- MimeFormReflector.cs
- SelectionItemProviderWrapper.cs
- ConstructorBuilder.cs
- GPPOINTF.cs
- RuleSetCollection.cs
- Roles.cs
- SiteMapPath.cs
- AmbientLight.cs
- OutputCacheSettings.cs
- TrimSurroundingWhitespaceAttribute.cs
- BamlLocalizer.cs
- PackWebResponse.cs
- ReferencedType.cs
- ConstructorExpr.cs
- COAUTHIDENTITY.cs
- EffectiveValueEntry.cs
- XsltOutput.cs
- BuilderPropertyEntry.cs
- formatter.cs
- XamlTypeMapper.cs
- ColorTransform.cs
- SqlDataSourceView.cs
- Int32Storage.cs
- SmtpClient.cs
- SharedPerformanceCounter.cs
- XamlPointCollectionSerializer.cs
- ObjectManager.cs
- RecognizerStateChangedEventArgs.cs
- CodeSubDirectoriesCollection.cs
- RightsManagementInformation.cs
- PopupEventArgs.cs
- DataExpression.cs
- XPathNavigatorReader.cs
- RijndaelManagedTransform.cs
- TransformerInfoCollection.cs
- HMACSHA512.cs
- ObjectItemCollection.cs
- UseLicense.cs
- ErrorProvider.cs
- MarkupCompilePass1.cs
- WindowsPrincipal.cs
- isolationinterop.cs
- ReflectionTypeLoadException.cs
- x509store.cs
- XmlArrayAttribute.cs