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
- FormView.cs
- LineBreak.cs
- FtpWebRequest.cs
- CompositeDataBoundControl.cs
- QueryStringParameter.cs
- DataGridCell.cs
- SafeBitVector32.cs
- Serializer.cs
- PeerName.cs
- TimeStampChecker.cs
- Calendar.cs
- ActiveXContainer.cs
- DrawingServices.cs
- SpeakInfo.cs
- OdbcConnectionStringbuilder.cs
- MailWebEventProvider.cs
- RulePatternOps.cs
- DeleteHelper.cs
- HtmlObjectListAdapter.cs
- Array.cs
- EditorBrowsableAttribute.cs
- GifBitmapEncoder.cs
- MemberMemberBinding.cs
- PropertyGeneratedEventArgs.cs
- HighContrastHelper.cs
- CheckPair.cs
- RootNamespaceAttribute.cs
- HttpCacheVary.cs
- ConfigViewGenerator.cs
- MulticastDelegate.cs
- OdbcDataAdapter.cs
- SqlXml.cs
- TcpPortSharing.cs
- XmlDocumentSerializer.cs
- EdmComplexPropertyAttribute.cs
- ChangePassword.cs
- DefaultTextStore.cs
- PersistChildrenAttribute.cs
- BasicKeyConstraint.cs
- CodeExpressionCollection.cs
- StdValidatorsAndConverters.cs
- Win32KeyboardDevice.cs
- NetworkInformationException.cs
- XPathSingletonIterator.cs
- IDReferencePropertyAttribute.cs
- TableLayoutRowStyleCollection.cs
- NetStream.cs
- ConfigXmlSignificantWhitespace.cs
- DataRowCollection.cs
- NullableDoubleAverageAggregationOperator.cs
- FunctionQuery.cs
- SecUtil.cs
- SBCSCodePageEncoding.cs
- SafeNativeMethods.cs
- EntityViewGenerationConstants.cs
- HandledMouseEvent.cs
- DriveInfo.cs
- Point3DAnimation.cs
- StylusPointPropertyUnit.cs
- PrincipalPermission.cs
- GradientStopCollection.cs
- ProxyGenerationError.cs
- PassportPrincipal.cs
- EventDescriptor.cs
- WebConvert.cs
- ProfessionalColorTable.cs
- GroupByExpressionRewriter.cs
- PolicyImporterElementCollection.cs
- WebPartAddingEventArgs.cs
- ObjectDataSourceFilteringEventArgs.cs
- ObjectContext.cs
- JoinGraph.cs
- ApplicationCommands.cs
- AttachedProperty.cs
- DataControlImageButton.cs
- ClockGroup.cs
- PrintController.cs
- Decoder.cs
- MessagePropertyDescription.cs
- ReadingWritingEntityEventArgs.cs
- XamlGridLengthSerializer.cs
- Schema.cs
- GlyphRunDrawing.cs
- BindingContext.cs
- MergeFailedEvent.cs
- OLEDB_Enum.cs
- Pair.cs
- FontFamily.cs
- CacheAxisQuery.cs
- UnionQueryOperator.cs
- InputProviderSite.cs
- SignerInfo.cs
- SynchronizedInputHelper.cs
- Int16AnimationUsingKeyFrames.cs
- TypeTypeConverter.cs
- InternalPolicyElement.cs
- SqlDataSourceStatusEventArgs.cs
- Visitors.cs
- SupportingTokenDuplexChannel.cs
- PipelineModuleStepContainer.cs