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
- ClientFormsAuthenticationCredentials.cs
- VisualStyleRenderer.cs
- ByteStack.cs
- FreezableCollection.cs
- _HeaderInfo.cs
- _NegoStream.cs
- FormsAuthenticationUserCollection.cs
- PersonalizationStateInfo.cs
- FeatureManager.cs
- ColumnMapCopier.cs
- EnumerableCollectionView.cs
- StorageComplexPropertyMapping.cs
- XslAstAnalyzer.cs
- SqlAggregateChecker.cs
- ComboBoxItem.cs
- RecognitionResult.cs
- FastEncoderWindow.cs
- DataGridViewBindingCompleteEventArgs.cs
- RowToFieldTransformer.cs
- CustomPopupPlacement.cs
- VBIdentifierDesigner.xaml.cs
- BezierSegment.cs
- EvidenceBase.cs
- EntityDataSourceValidationException.cs
- ForEachAction.cs
- Path.cs
- HttpRuntimeSection.cs
- CqlBlock.cs
- LabelInfo.cs
- SmtpClient.cs
- Int64AnimationBase.cs
- TextRange.cs
- SerializerDescriptor.cs
- Documentation.cs
- ToolboxBitmapAttribute.cs
- HyperLinkDesigner.cs
- TextSelectionHelper.cs
- DelegateInArgument.cs
- UserPersonalizationStateInfo.cs
- MeasurementDCInfo.cs
- SqlUserDefinedTypeAttribute.cs
- RegisteredScript.cs
- TextDecorationCollection.cs
- EventSetterHandlerConverter.cs
- DataSetMappper.cs
- WindowsToolbarAsMenu.cs
- _SSPIWrapper.cs
- Quaternion.cs
- DataPagerFieldCommandEventArgs.cs
- CodeAssignStatement.cs
- UntrustedRecipientException.cs
- SrgsElementFactoryCompiler.cs
- WindowsListViewGroupSubsetLink.cs
- SessionStateModule.cs
- PageHandlerFactory.cs
- MTConfigUtil.cs
- FixedPage.cs
- ZoneMembershipCondition.cs
- RichTextBoxAutomationPeer.cs
- BlockUIContainer.cs
- TriggerCollection.cs
- ApplicationActivator.cs
- AuthorizationSection.cs
- SrgsToken.cs
- SafeHandles.cs
- CommandSet.cs
- DBConcurrencyException.cs
- SqlMethods.cs
- GenericPrincipal.cs
- EventHandlerList.cs
- Int32Storage.cs
- WindowsSecurityToken.cs
- PixelShader.cs
- EventData.cs
- DataPagerFieldCollection.cs
- HostingEnvironmentSection.cs
- CompiledQuery.cs
- DataKeyArray.cs
- ObjectSet.cs
- ModuleConfigurationInfo.cs
- DesignerView.xaml.cs
- COAUTHIDENTITY.cs
- AccessViolationException.cs
- EmptyReadOnlyDictionaryInternal.cs
- SqlMethodAttribute.cs
- TextBoxAutomationPeer.cs
- ReservationNotFoundException.cs
- RuntimeResourceSet.cs
- FastEncoder.cs
- OptimizedTemplateContent.cs
- DesignerDataParameter.cs
- _NtlmClient.cs
- XhtmlBasicCommandAdapter.cs
- XmlSchemaProviderAttribute.cs
- RtfToXamlReader.cs
- InputLanguageCollection.cs
- TemplateBuilder.cs
- Vector.cs
- FlowDocumentPage.cs
- Size3D.cs