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
- ExtenderProviderService.cs
- _LoggingObject.cs
- MethodBuilder.cs
- TrustExchangeException.cs
- CodeTypeDeclarationCollection.cs
- documentation.cs
- MsmqIntegrationBindingElement.cs
- EntityChangedParams.cs
- XmlSiteMapProvider.cs
- XmlCharacterData.cs
- ThreadSafeMessageFilterTable.cs
- SmtpFailedRecipientsException.cs
- Profiler.cs
- BinaryExpressionHelper.cs
- ProfileSettings.cs
- NodeFunctions.cs
- DataGridDetailsPresenter.cs
- SqlConnection.cs
- Viewport3DVisual.cs
- PasswordRecovery.cs
- ListViewAutomationPeer.cs
- TypeElement.cs
- BehaviorEditorPart.cs
- TargetException.cs
- DbProviderManifest.cs
- CustomExpression.cs
- DesignBindingPropertyDescriptor.cs
- FunctionImportElement.cs
- ListControlConvertEventArgs.cs
- DataGridViewSelectedRowCollection.cs
- ExitEventArgs.cs
- DataServiceResponse.cs
- SqlClientWrapperSmiStream.cs
- EventSinkActivity.cs
- EditorServiceContext.cs
- IsolatedStorageSecurityState.cs
- DefinitionUpdate.cs
- ArgumentNullException.cs
- ValueOfAction.cs
- ValueTable.cs
- HostnameComparisonMode.cs
- JsonQNameDataContract.cs
- SecurityElement.cs
- StringCollectionMarkupSerializer.cs
- Zone.cs
- EventMappingSettings.cs
- GridViewRowCollection.cs
- DispatchChannelSink.cs
- GeneralTransformGroup.cs
- XmlNamedNodeMap.cs
- StateBag.cs
- HtmlFormWrapper.cs
- MimeParameter.cs
- ConfigurationElementCollection.cs
- PartialArray.cs
- EnumConverter.cs
- IntMinMaxAggregationOperator.cs
- MenuRenderer.cs
- BrowserCapabilitiesCompiler.cs
- HtmlElementErrorEventArgs.cs
- DPTypeDescriptorContext.cs
- RSAOAEPKeyExchangeDeformatter.cs
- HyperLinkStyle.cs
- DataObjectAttribute.cs
- TileBrush.cs
- QueryableFilterUserControl.cs
- CodeMethodReturnStatement.cs
- ThemeDirectoryCompiler.cs
- ToolStripPanelSelectionBehavior.cs
- BinHexDecoder.cs
- StorageEntityTypeMapping.cs
- FieldMetadata.cs
- CaseExpr.cs
- Publisher.cs
- Form.cs
- GridViewColumnHeaderAutomationPeer.cs
- RequestTimeoutManager.cs
- PolicyChain.cs
- LingerOption.cs
- BezierSegment.cs
- Schema.cs
- SoapWriter.cs
- GenericWebPart.cs
- BuildTopDownAttribute.cs
- UpdateCommand.cs
- FusionWrap.cs
- PreviewPageInfo.cs
- StyleCollection.cs
- ZipIOExtraFieldElement.cs
- Expression.cs
- RegexCode.cs
- FixedHighlight.cs
- ComplexBindingPropertiesAttribute.cs
- QueryConverter.cs
- PartialCachingControl.cs
- TrailingSpaceComparer.cs
- MemoryStream.cs
- QilFactory.cs
- SrgsItemList.cs
- TraceListeners.cs