Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- HostedElements.cs
- XmlResolver.cs
- Panel.cs
- InfoCardSymmetricAlgorithm.cs
- WebPartEditorOkVerb.cs
- UnsafeNativeMethods.cs
- LinearGradientBrush.cs
- ResourceProviderFactory.cs
- TableLayoutSettings.cs
- TypeReference.cs
- CompilationLock.cs
- GetParentChain.cs
- DebugView.cs
- NullableBoolConverter.cs
- EmptyCollection.cs
- InvalidCastException.cs
- ConfigsHelper.cs
- Geometry.cs
- SvcMapFileLoader.cs
- SqlRecordBuffer.cs
- FontFamilyValueSerializer.cs
- TraceLevelStore.cs
- FacetChecker.cs
- WebEventTraceProvider.cs
- AbandonedMutexException.cs
- CompositeCollection.cs
- XmlWriterSettings.cs
- UIElementParagraph.cs
- WindowsFormsLinkLabel.cs
- ViewBox.cs
- BaseCollection.cs
- XmlName.cs
- WindowsScroll.cs
- DataContractSerializerMessageContractImporter.cs
- BrowserCapabilitiesFactory.cs
- DataTable.cs
- DocumentXmlWriter.cs
- BamlTreeUpdater.cs
- ParameterExpression.cs
- DataGridViewAccessibleObject.cs
- DrawListViewSubItemEventArgs.cs
- DeferredRunTextReference.cs
- BamlTreeNode.cs
- BounceEase.cs
- XmlException.cs
- Glyph.cs
- ClientProxyGenerator.cs
- MissingMemberException.cs
- PartitionResolver.cs
- WebReferenceOptions.cs
- ControlPropertyNameConverter.cs
- UnsettableComboBox.cs
- Converter.cs
- WindowsImpersonationContext.cs
- StructuredTypeEmitter.cs
- DispatcherBuilder.cs
- IdentityModelStringsVersion1.cs
- XmlDataProvider.cs
- CodeAccessSecurityEngine.cs
- Point3DAnimationBase.cs
- XmlSerializerNamespaces.cs
- AppDomainUnloadedException.cs
- EntityContainer.cs
- XamlTreeBuilderBamlRecordWriter.cs
- IsolatedStorageException.cs
- VectorKeyFrameCollection.cs
- UIEndRequest.cs
- SizeChangedEventArgs.cs
- ScrollPatternIdentifiers.cs
- MarginCollapsingState.cs
- RuleRefElement.cs
- DataSourceComponent.cs
- SafeRightsManagementQueryHandle.cs
- EventLogPermissionEntryCollection.cs
- TextOutput.cs
- DateTimeValueSerializerContext.cs
- FixedSOMPageElement.cs
- StructureChangedEventArgs.cs
- XmlCharacterData.cs
- CachedFontFamily.cs
- DesignerEventService.cs
- Button.cs
- WeakKeyDictionary.cs
- VirtualDirectoryMappingCollection.cs
- cookiecollection.cs
- SerializationHelper.cs
- ReadOnlyDictionary.cs
- InputReportEventArgs.cs
- CompilerCollection.cs
- _CommandStream.cs
- SafeBitVector32.cs
- DataRow.cs
- COM2Enum.cs
- ArcSegment.cs
- HttpStreams.cs
- OleDbReferenceCollection.cs
- documentsequencetextcontainer.cs
- HttpHeaderCollection.cs
- RegexParser.cs
- WebRequestModuleElementCollection.cs