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
- ConfigurationSectionGroup.cs
- CodeParameterDeclarationExpression.cs
- GatewayDefinition.cs
- SByte.cs
- ChildTable.cs
- OracleParameterCollection.cs
- COM2ICategorizePropertiesHandler.cs
- StringResourceManager.cs
- GZipStream.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- ConditionalAttribute.cs
- QueryResponse.cs
- XPathExpr.cs
- SignedXml.cs
- ProtocolsConfigurationEntry.cs
- ControlPaint.cs
- WrapPanel.cs
- UnsafeNativeMethodsMilCoreApi.cs
- ArrayTypeMismatchException.cs
- SourceFileBuildProvider.cs
- PathFigure.cs
- MimeFormImporter.cs
- WarningException.cs
- DataColumnPropertyDescriptor.cs
- UpdateTranslator.cs
- SessionParameter.cs
- BitmapPalette.cs
- CacheAxisQuery.cs
- ListViewHitTestInfo.cs
- CodeArrayCreateExpression.cs
- IPGlobalProperties.cs
- ClusterSafeNativeMethods.cs
- StopStoryboard.cs
- StringResourceManager.cs
- MediaPlayer.cs
- Rect3DConverter.cs
- AnnotationComponentChooser.cs
- CheckBoxField.cs
- CallInfo.cs
- ProxyWebPart.cs
- BaseDataBoundControl.cs
- StrongName.cs
- GeneralTransform2DTo3D.cs
- SerialPinChanges.cs
- QilStrConcat.cs
- StringSource.cs
- PageThemeParser.cs
- CollectionChangeEventArgs.cs
- HtmlShim.cs
- SqlUtil.cs
- InvariantComparer.cs
- XMLSyntaxException.cs
- mediaclock.cs
- MinMaxParagraphWidth.cs
- HistoryEventArgs.cs
- SqlInfoMessageEvent.cs
- mansign.cs
- WebBrowsableAttribute.cs
- XNodeNavigator.cs
- CqlLexer.cs
- ColumnCollectionEditor.cs
- SystemWebSectionGroup.cs
- ListViewDataItem.cs
- TextElementEnumerator.cs
- CodeLabeledStatement.cs
- StagingAreaInputItem.cs
- IfJoinedCondition.cs
- FormatSettings.cs
- SQLMoney.cs
- GatewayDefinition.cs
- XamlInterfaces.cs
- ReadContentAsBinaryHelper.cs
- Popup.cs
- BinaryUtilClasses.cs
- MemoryRecordBuffer.cs
- Rect3DConverter.cs
- ConsoleCancelEventArgs.cs
- DBDataPermissionAttribute.cs
- M3DUtil.cs
- HttpCapabilitiesSectionHandler.cs
- ImportedNamespaceContextItem.cs
- PageContent.cs
- UserControl.cs
- UpdateException.cs
- WebRequest.cs
- XmlNotation.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- UIElement3D.cs
- ExportOptions.cs
- SingleConverter.cs
- InheritanceRules.cs
- COM2EnumConverter.cs
- CustomAttributeBuilder.cs
- ConnectivityStatus.cs
- DataDocumentXPathNavigator.cs
- mda.cs
- Int16AnimationUsingKeyFrames.cs
- _AutoWebProxyScriptEngine.cs
- FormatStringEditor.cs
- LambdaCompiler.cs