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
- XPathNodePointer.cs
- HandleDictionary.cs
- ControlType.cs
- ListItemCollection.cs
- HelpEvent.cs
- InstalledFontCollection.cs
- Pair.cs
- Scene3D.cs
- EmptyImpersonationContext.cs
- EditorPartCollection.cs
- NumberFormatInfo.cs
- Overlapped.cs
- MailWebEventProvider.cs
- XamlSerializerUtil.cs
- NativeActivityMetadata.cs
- OleDbPermission.cs
- RecognizerBase.cs
- COM2PictureConverter.cs
- ContextStaticAttribute.cs
- PathBox.cs
- TypeSystem.cs
- _DigestClient.cs
- FamilyTypefaceCollection.cs
- ShortcutKeysEditor.cs
- SqlParameter.cs
- XmlHelper.cs
- XamlTreeBuilderBamlRecordWriter.cs
- ClientConfigurationHost.cs
- UserControl.cs
- DataRecord.cs
- ACL.cs
- LocatorPartList.cs
- ContextProperty.cs
- PropertyPushdownHelper.cs
- Pair.cs
- PersonalizationStateInfoCollection.cs
- ContainerVisual.cs
- TagPrefixInfo.cs
- SqlNamer.cs
- FileCodeGroup.cs
- StyleTypedPropertyAttribute.cs
- ComUdtElementCollection.cs
- shaperfactoryquerycacheentry.cs
- ISAPIRuntime.cs
- UIElementHelper.cs
- FlowDocumentView.cs
- Int64AnimationBase.cs
- WindowsProgressbar.cs
- RegexTree.cs
- ItemsControl.cs
- PasswordBoxAutomationPeer.cs
- FixedSOMFixedBlock.cs
- OleDbError.cs
- XmlText.cs
- NonSerializedAttribute.cs
- StyleXamlTreeBuilder.cs
- RectKeyFrameCollection.cs
- CancellableEnumerable.cs
- AbstractSvcMapFileLoader.cs
- indexingfiltermarshaler.cs
- PointKeyFrameCollection.cs
- TextAction.cs
- ServerTooBusyException.cs
- Roles.cs
- SqlMethodCallConverter.cs
- RemoteDebugger.cs
- ChildDocumentBlock.cs
- MsmqProcessProtocolHandler.cs
- ContextMenuStripGroupCollection.cs
- KnownTypesProvider.cs
- AttachedAnnotation.cs
- NextPreviousPagerField.cs
- HttpApplicationStateWrapper.cs
- VisualBrush.cs
- StylusPointPropertyUnit.cs
- ParallelEnumerable.cs
- OneOf.cs
- PropertyChangedEventArgs.cs
- KeyValueInternalCollection.cs
- OptionUsage.cs
- NetNamedPipeSecurity.cs
- Renderer.cs
- _Rfc2616CacheValidators.cs
- ping.cs
- BooleanAnimationBase.cs
- HiddenField.cs
- ValidationPropertyAttribute.cs
- EventLogPermissionHolder.cs
- GlobalProxySelection.cs
- ConnectionsZone.cs
- TouchesOverProperty.cs
- ContactManager.cs
- DataGridParentRows.cs
- HtmlInputRadioButton.cs
- IdentityValidationException.cs
- CodeMemberMethod.cs
- ApplicationInfo.cs
- FontFamily.cs
- XmlValueConverter.cs
- UIElement.cs