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
- TreeViewEvent.cs
- ScrollItemProviderWrapper.cs
- DoubleLinkList.cs
- ContextStaticAttribute.cs
- MethodCallConverter.cs
- SystemThemeKey.cs
- ViewStateAttachedPropertyFeature.cs
- XmlReflectionMember.cs
- UntrustedRecipientException.cs
- Rethrow.cs
- PathFigure.cs
- CapabilitiesUse.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- MarkupObject.cs
- SecureStringHasher.cs
- BitmapEffect.cs
- OleDbSchemaGuid.cs
- ColorTransformHelper.cs
- LocalizableResourceBuilder.cs
- Point.cs
- NonBatchDirectoryCompiler.cs
- MatrixAnimationUsingKeyFrames.cs
- OleDbConnectionInternal.cs
- XmlArrayItemAttributes.cs
- xamlnodes.cs
- BufferedStream.cs
- WorkflowMarkupSerializationProvider.cs
- ColorContextHelper.cs
- contentDescriptor.cs
- StringExpressionSet.cs
- ArraySortHelper.cs
- SqlGenerator.cs
- Substitution.cs
- ISO2022Encoding.cs
- SvcMapFileLoader.cs
- CreatingCookieEventArgs.cs
- DoubleLink.cs
- GeneralTransform.cs
- SerializationFieldInfo.cs
- RegexGroupCollection.cs
- MetafileHeader.cs
- ClientSponsor.cs
- CellTreeNodeVisitors.cs
- CollectionBuilder.cs
- RichTextBoxAutomationPeer.cs
- StylusButton.cs
- ListDataBindEventArgs.cs
- MutexSecurity.cs
- SessionPageStateSection.cs
- RSAPKCS1SignatureFormatter.cs
- Mutex.cs
- SubclassTypeValidatorAttribute.cs
- ColumnWidthChangingEvent.cs
- Dictionary.cs
- XmlQualifiedNameTest.cs
- DesignerActionUIService.cs
- FileInfo.cs
- OleDbParameter.cs
- EntitySqlQueryBuilder.cs
- SimpleBitVector32.cs
- WindowsIdentity.cs
- EventlogProvider.cs
- XPathNodeHelper.cs
- BufferModeSettings.cs
- PtsHelper.cs
- Range.cs
- ThreadStateException.cs
- DotExpr.cs
- CollectionCodeDomSerializer.cs
- Point3DKeyFrameCollection.cs
- ProtocolInformationWriter.cs
- TimerEventSubscription.cs
- SocketAddress.cs
- EventLogTraceListener.cs
- RepeatInfo.cs
- ReferencedType.cs
- EndpointNotFoundException.cs
- DateRangeEvent.cs
- StickyNoteHelper.cs
- MetabaseServerConfig.cs
- CacheDependency.cs
- QuotedPairReader.cs
- PublishLicense.cs
- RoutedEventHandlerInfo.cs
- BackStopAuthenticationModule.cs
- NullableDoubleMinMaxAggregationOperator.cs
- MultiPageTextView.cs
- EntityViewGenerator.cs
- Brush.cs
- XmlSchemaType.cs
- WebPartCatalogAddVerb.cs
- ImageSourceConverter.cs
- FormattedText.cs
- QueryContinueDragEventArgs.cs
- ConfigurationStrings.cs
- ServiceOperationInfoTypeConverter.cs
- DesignerDataParameter.cs
- XmlElementElement.cs
- StrokeIntersection.cs
- _DigestClient.cs