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
- EncodingInfo.cs
- Button.cs
- SystemIPv4InterfaceProperties.cs
- UrlPropertyAttribute.cs
- TableCellAutomationPeer.cs
- CodeExporter.cs
- Metafile.cs
- NumericExpr.cs
- GenericNameHandler.cs
- DictionarySectionHandler.cs
- BookmarkEventArgs.cs
- OleDbConnection.cs
- SQLInt16.cs
- GridViewSortEventArgs.cs
- SiteMap.cs
- TraceListener.cs
- XmlSchemaAppInfo.cs
- DataPagerFieldCommandEventArgs.cs
- HttpModuleAction.cs
- ValidatorAttribute.cs
- DefaultTextStore.cs
- RoutedEventArgs.cs
- SequenceDesignerAccessibleObject.cs
- WebAdminConfigurationHelper.cs
- CryptoHelper.cs
- DesignerProperties.cs
- SafeNativeMethods.cs
- Delegate.cs
- GeometryConverter.cs
- HttpListenerResponse.cs
- ComponentResourceManager.cs
- FileClassifier.cs
- BuildDependencySet.cs
- AutomationElement.cs
- DockProviderWrapper.cs
- ConversionHelper.cs
- CheckBox.cs
- DatagridviewDisplayedBandsData.cs
- ValidationRuleCollection.cs
- XmlDocumentType.cs
- DataRowView.cs
- EventManager.cs
- DataServiceException.cs
- BamlRecordWriter.cs
- WeakReferenceList.cs
- cache.cs
- FrameworkElementFactory.cs
- MetafileHeader.cs
- CodeArgumentReferenceExpression.cs
- SecurityCriticalDataForSet.cs
- ObjectDataSource.cs
- X509CertificateStore.cs
- CodeParameterDeclarationExpressionCollection.cs
- PieceDirectory.cs
- StringFreezingAttribute.cs
- FloaterParagraph.cs
- FixedPageAutomationPeer.cs
- BamlTreeUpdater.cs
- OpenFileDialog.cs
- CheckBox.cs
- PenLineCapValidation.cs
- AuditLevel.cs
- DesignerObject.cs
- PropVariant.cs
- DrawingGroupDrawingContext.cs
- DbParameterCollectionHelper.cs
- X500Name.cs
- DecimalAnimationUsingKeyFrames.cs
- XmlSecureResolver.cs
- BufferModesCollection.cs
- DoubleConverter.cs
- _ShellExpression.cs
- MessageHeaderInfoTraceRecord.cs
- DeclarationUpdate.cs
- ExternalCalls.cs
- SoapFormatterSinks.cs
- Pens.cs
- XPathNodeList.cs
- Qualifier.cs
- ContextItem.cs
- UnsafeNetInfoNativeMethods.cs
- PageStatePersister.cs
- WindowsFont.cs
- XmlArrayAttribute.cs
- DocumentReferenceCollection.cs
- PaperSize.cs
- GraphicsContainer.cs
- ListBoxItemAutomationPeer.cs
- AdPostCacheSubstitution.cs
- RuleSettingsCollection.cs
- NavigationFailedEventArgs.cs
- ExceptionRoutedEventArgs.cs
- Command.cs
- MouseOverProperty.cs
- DiscreteKeyFrames.cs
- Blend.cs
- SiteMapDataSourceView.cs
- FormViewUpdatedEventArgs.cs
- ServiceEndpoint.cs
- shaperfactory.cs