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
- StrokeNodeOperations2.cs
- TaskbarItemInfo.cs
- CustomCredentialPolicy.cs
- NumberFunctions.cs
- tabpagecollectioneditor.cs
- JapaneseCalendar.cs
- CodeExporter.cs
- InvokeDelegate.cs
- UserControlParser.cs
- ChangeConflicts.cs
- CodeValidator.cs
- NavigatorInput.cs
- Label.cs
- DbConnectionPoolGroupProviderInfo.cs
- OdbcFactory.cs
- DataControlReference.cs
- CodeDOMUtility.cs
- XamlWriter.cs
- OleServicesContext.cs
- XmlDictionaryReader.cs
- Span.cs
- SqlTriggerContext.cs
- GridViewRowPresenterBase.cs
- BinaryReader.cs
- KoreanCalendar.cs
- Canvas.cs
- DbConnectionPoolIdentity.cs
- ProxyGenerationError.cs
- WorkflowIdleElement.cs
- ProgressChangedEventArgs.cs
- RelationshipSet.cs
- TypeLoadException.cs
- RadialGradientBrush.cs
- CellIdBoolean.cs
- ReflectionTypeLoadException.cs
- BasicCellRelation.cs
- BorderSidesEditor.cs
- TaskHelper.cs
- ReadOnlyTernaryTree.cs
- DataGridColumnDropSeparator.cs
- Lookup.cs
- ListViewInsertedEventArgs.cs
- TextSearch.cs
- EventListenerClientSide.cs
- Crypto.cs
- PageCatalogPart.cs
- Win32MouseDevice.cs
- RegistryPermission.cs
- OutputCacheProfileCollection.cs
- RubberbandSelector.cs
- AppDomain.cs
- KeyInterop.cs
- DocumentApplicationJournalEntry.cs
- BitmapEffectGroup.cs
- XmlNodeComparer.cs
- MessageSmuggler.cs
- FormsAuthenticationTicket.cs
- DataObjectCopyingEventArgs.cs
- PublishLicense.cs
- Parameter.cs
- TypeConverterHelper.cs
- StylusEventArgs.cs
- ProxyWebPart.cs
- SkipQueryOptionExpression.cs
- TraceSource.cs
- XLinq.cs
- WebPartRestoreVerb.cs
- IdleTimeoutMonitor.cs
- XmlElementElement.cs
- LessThanOrEqual.cs
- Win32KeyboardDevice.cs
- EntityWrapperFactory.cs
- Type.cs
- ItemCheckEvent.cs
- DataSourceSerializationException.cs
- WorkflowServiceAttributes.cs
- OptimalBreakSession.cs
- SessionIDManager.cs
- securitymgrsite.cs
- UTF32Encoding.cs
- AsymmetricKeyExchangeFormatter.cs
- LocalizedNameDescriptionPair.cs
- FontStyleConverter.cs
- TextEffectCollection.cs
- SignatureHelper.cs
- WebException.cs
- DecimalKeyFrameCollection.cs
- SamlAuthenticationStatement.cs
- _SafeNetHandles.cs
- GeometryHitTestParameters.cs
- WorkflowMessageEventHandler.cs
- Action.cs
- DetailsViewDeleteEventArgs.cs
- XPathAxisIterator.cs
- ConsoleKeyInfo.cs
- GeometryModel3D.cs
- WebReferencesBuildProvider.cs
- DesignerWithHeader.cs
- IndexedString.cs
- StreamWriter.cs