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
- RewritingPass.cs
- WindowsIdentity.cs
- ClusterUtils.cs
- FacetEnabledSchemaElement.cs
- TransformerTypeCollection.cs
- ISCIIEncoding.cs
- WindowsUpDown.cs
- Point3DCollectionConverter.cs
- ContainerUtilities.cs
- VirtualDirectoryMapping.cs
- DragEvent.cs
- PropertyInfoSet.cs
- DbConnectionStringCommon.cs
- XamlNamespaceHelper.cs
- OLEDB_Util.cs
- MouseGesture.cs
- SmtpAuthenticationManager.cs
- metadatamappinghashervisitor.cs
- SystemInfo.cs
- BlobPersonalizationState.cs
- XmlReflectionMember.cs
- BitmapFrameDecode.cs
- SpotLight.cs
- TailPinnedEventArgs.cs
- WorkflowServiceOperationListItem.cs
- XPathNavigatorReader.cs
- DbConnectionClosed.cs
- OleTxTransaction.cs
- Track.cs
- DbProviderSpecificTypePropertyAttribute.cs
- NegotiateStream.cs
- ReflectionUtil.cs
- PasswordTextContainer.cs
- DataGridViewCellMouseEventArgs.cs
- EastAsianLunisolarCalendar.cs
- CounterSample.cs
- GenericAuthenticationEventArgs.cs
- RegexCaptureCollection.cs
- WebPartChrome.cs
- SecureConversationServiceCredential.cs
- TabControlToolboxItem.cs
- PersonalizableAttribute.cs
- _Rfc2616CacheValidators.cs
- SamlSubjectStatement.cs
- RequestCachePolicyConverter.cs
- Group.cs
- FontStyleConverter.cs
- SmtpReplyReaderFactory.cs
- ParallelTimeline.cs
- ThreadSafeList.cs
- PathGeometry.cs
- ControlDesigner.cs
- ControlPaint.cs
- ViewValidator.cs
- MachineKeyConverter.cs
- WinFormsComponentEditor.cs
- TextBoxAutomationPeer.cs
- XPathMessageContext.cs
- Control.cs
- HuffModule.cs
- XmlLanguage.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- StreamGeometry.cs
- ListSortDescriptionCollection.cs
- SlipBehavior.cs
- CorrelationScope.cs
- ConfigPathUtility.cs
- _SpnDictionary.cs
- QilPatternVisitor.cs
- ToolBarDesigner.cs
- RegularExpressionValidator.cs
- StaticContext.cs
- TypeSemantics.cs
- ListViewGroupItemCollection.cs
- SHA384Cng.cs
- TypeUsage.cs
- MemberRelationshipService.cs
- DLinqTableProvider.cs
- Vector.cs
- LinkLabel.cs
- Screen.cs
- ToolboxDataAttribute.cs
- ComponentCollection.cs
- NumberAction.cs
- Fonts.cs
- Iis7Helper.cs
- FlowDocumentPage.cs
- RowType.cs
- CachedCompositeFamily.cs
- DataRowView.cs
- DataGridViewColumn.cs
- MimeMultiPart.cs
- COM2IDispatchConverter.cs
- MimeTypePropertyAttribute.cs
- SelectedDatesCollection.cs
- SchemaNames.cs
- SqlProviderManifest.cs
- Html32TextWriter.cs
- XmlILAnnotation.cs
- IISUnsafeMethods.cs