Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Net / System / Net / HttpListenerPrefixCollection.cs / 1 / HttpListenerPrefixCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net { using System; using System.Collections; using System.Collections.Generic; internal class ListenerPrefixEnumerator:IEnumerator{ IEnumerator enumerator; internal ListenerPrefixEnumerator(IEnumerator enumerator){ this.enumerator = enumerator; } public string Current{ get{ return (string)enumerator.Current; } } public bool MoveNext(){ return enumerator.MoveNext(); } public void Dispose(){ } void System.Collections.IEnumerator.Reset(){ enumerator.Reset(); } object System.Collections.IEnumerator.Current{ get{ return enumerator.Current; } } } public class HttpListenerPrefixCollection : ICollection { private HttpListener m_HttpListener; internal HttpListenerPrefixCollection(HttpListener listener) { m_HttpListener = listener; } public void CopyTo(Array array, int offset) { m_HttpListener.CheckDisposed(); if (Count>array.Length) { throw new ArgumentOutOfRangeException("array", SR.GetString(SR.net_array_too_small)); } if (offset+Count>array.Length) { throw new ArgumentOutOfRangeException("offset"); } int index = 0; foreach (string uriPrefix in m_HttpListener.m_UriPrefixes.Keys) { array.SetValue(uriPrefix, offset + index++); } } public void CopyTo(string[] array, int offset) { m_HttpListener.CheckDisposed(); if (Count>array.Length) { throw new ArgumentOutOfRangeException("array", SR.GetString(SR.net_array_too_small)); } if (offset+Count>array.Length) { throw new ArgumentOutOfRangeException("offset"); } int index = 0; foreach (string uriPrefix in m_HttpListener.m_UriPrefixes.Keys) { array[offset + index++] = uriPrefix; } } public int Count { get { return m_HttpListener.m_UriPrefixes.Count; } } public bool IsSynchronized { get { return false; } } public bool IsReadOnly { get { return false; } } public void Add(string uriPrefix) { m_HttpListener.AddPrefix(uriPrefix); } public bool Contains(string uriPrefix) { return m_HttpListener.m_UriPrefixes.Contains(uriPrefix); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return null; } public IEnumerator GetEnumerator() { return new ListenerPrefixEnumerator(m_HttpListener.m_UriPrefixes.Keys.GetEnumerator()); } public bool Remove(string uriPrefix) { return m_HttpListener.RemovePrefix(uriPrefix); } public void Clear() { m_HttpListener.RemoveAll(true); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net { using System; using System.Collections; using System.Collections.Generic; internal class ListenerPrefixEnumerator:IEnumerator{ IEnumerator enumerator; internal ListenerPrefixEnumerator(IEnumerator enumerator){ this.enumerator = enumerator; } public string Current{ get{ return (string)enumerator.Current; } } public bool MoveNext(){ return enumerator.MoveNext(); } public void Dispose(){ } void System.Collections.IEnumerator.Reset(){ enumerator.Reset(); } object System.Collections.IEnumerator.Current{ get{ return enumerator.Current; } } } public class HttpListenerPrefixCollection : ICollection { private HttpListener m_HttpListener; internal HttpListenerPrefixCollection(HttpListener listener) { m_HttpListener = listener; } public void CopyTo(Array array, int offset) { m_HttpListener.CheckDisposed(); if (Count>array.Length) { throw new ArgumentOutOfRangeException("array", SR.GetString(SR.net_array_too_small)); } if (offset+Count>array.Length) { throw new ArgumentOutOfRangeException("offset"); } int index = 0; foreach (string uriPrefix in m_HttpListener.m_UriPrefixes.Keys) { array.SetValue(uriPrefix, offset + index++); } } public void CopyTo(string[] array, int offset) { m_HttpListener.CheckDisposed(); if (Count>array.Length) { throw new ArgumentOutOfRangeException("array", SR.GetString(SR.net_array_too_small)); } if (offset+Count>array.Length) { throw new ArgumentOutOfRangeException("offset"); } int index = 0; foreach (string uriPrefix in m_HttpListener.m_UriPrefixes.Keys) { array[offset + index++] = uriPrefix; } } public int Count { get { return m_HttpListener.m_UriPrefixes.Count; } } public bool IsSynchronized { get { return false; } } public bool IsReadOnly { get { return false; } } public void Add(string uriPrefix) { m_HttpListener.AddPrefix(uriPrefix); } public bool Contains(string uriPrefix) { return m_HttpListener.m_UriPrefixes.Contains(uriPrefix); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return null; } public IEnumerator GetEnumerator() { return new ListenerPrefixEnumerator(m_HttpListener.m_UriPrefixes.Keys.GetEnumerator()); } public bool Remove(string uriPrefix) { return m_HttpListener.RemovePrefix(uriPrefix); } public void Clear() { m_HttpListener.RemoveAll(true); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DateTimeOffset.cs
- WebPartConnectionsDisconnectVerb.cs
- ErrorCodes.cs
- ServiceDiscoveryElement.cs
- EnglishPluralizationService.cs
- WindowInteractionStateTracker.cs
- Ports.cs
- DesignerInterfaces.cs
- Int32AnimationUsingKeyFrames.cs
- DataSourceConverter.cs
- NumericUpDownAcceleration.cs
- ChannelManager.cs
- WindowsListViewScroll.cs
- Rectangle.cs
- XmlKeywords.cs
- TraceFilter.cs
- SecurityChannel.cs
- Mappings.cs
- ResourceManagerWrapper.cs
- NamespaceDisplay.xaml.cs
- UriSectionData.cs
- PresentationTraceSources.cs
- CodeDirectiveCollection.cs
- cookiecollection.cs
- ArrayConverter.cs
- Vector3DConverter.cs
- HtmlTableRowCollection.cs
- ComboBox.cs
- TemplateBindingExtensionConverter.cs
- HtmlTitle.cs
- DecimalConstantAttribute.cs
- RegexWriter.cs
- StorageBasedPackageProperties.cs
- HeaderedContentControl.cs
- KeyGestureConverter.cs
- TypedElement.cs
- X509IssuerSerialKeyIdentifierClause.cs
- XmlObjectSerializerReadContextComplexJson.cs
- XMLSyntaxException.cs
- ApplicationDirectory.cs
- UpdatableWrapper.cs
- StoragePropertyMapping.cs
- ToolboxItemAttribute.cs
- MaskedTextBox.cs
- ObjectComplexPropertyMapping.cs
- UTF32Encoding.cs
- SQLConvert.cs
- FieldCollectionEditor.cs
- StructuralObject.cs
- Soap.cs
- Light.cs
- WindowInteropHelper.cs
- RegexRunner.cs
- _CommandStream.cs
- ImageSourceValueSerializer.cs
- DependencyPropertyConverter.cs
- EntityDataSourceReferenceGroup.cs
- SizeFConverter.cs
- SmiTypedGetterSetter.cs
- ToolbarAUtomationPeer.cs
- WebPartConnectionsEventArgs.cs
- BooleanToVisibilityConverter.cs
- RtfFormatStack.cs
- OutputScopeManager.cs
- GifBitmapEncoder.cs
- AssociationType.cs
- WindowsMenu.cs
- DateTimeFormat.cs
- EncryptedType.cs
- HttpDictionary.cs
- DiffuseMaterial.cs
- TextAction.cs
- Button.cs
- Trace.cs
- DataMisalignedException.cs
- XmlSerializerImportOptions.cs
- RequestQueryProcessor.cs
- CodeAttachEventStatement.cs
- Preprocessor.cs
- CodeTypeOfExpression.cs
- OdbcConnectionHandle.cs
- AvTraceDetails.cs
- NamespaceList.cs
- HttpFileCollection.cs
- SmiGettersStream.cs
- ResourceDefaultValueAttribute.cs
- LocalizabilityAttribute.cs
- ToolStripComboBox.cs
- TextPointer.cs
- TreeViewCancelEvent.cs
- SessionStateUtil.cs
- TextDecoration.cs
- TreeIterator.cs
- PropertyDescriptor.cs
- UpdateProgress.cs
- SafeProcessHandle.cs
- NumericUpDown.cs
- FileEnumerator.cs
- ParserExtension.cs
- ObjectReaderCompiler.cs