Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / HttpListenerPrefixCollection.cs / 1305376 / 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 this.GetEnumerator(); } 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 this.GetEnumerator(); } 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
- Certificate.cs
- RuntimeResourceSet.cs
- wgx_commands.cs
- BevelBitmapEffect.cs
- XmlSchemaAttributeGroupRef.cs
- ColorTransform.cs
- DataListGeneralPage.cs
- XmlArrayAttribute.cs
- BuildTopDownAttribute.cs
- ReturnEventArgs.cs
- DataServiceRequest.cs
- DiffuseMaterial.cs
- MultiPageTextView.cs
- ObjectSecurity.cs
- PasswordDeriveBytes.cs
- VisemeEventArgs.cs
- ZipPackage.cs
- DependencyPropertyConverter.cs
- MenuItemStyleCollection.cs
- ConfigurationProperty.cs
- PageContentCollection.cs
- LOSFormatter.cs
- FlowDocumentFormatter.cs
- RtfControlWordInfo.cs
- ScrollEventArgs.cs
- ForAllOperator.cs
- SecurityElement.cs
- FormViewDeleteEventArgs.cs
- BypassElementCollection.cs
- DependencyPropertyKind.cs
- SmiEventSink_DeferedProcessing.cs
- RubberbandSelector.cs
- XmlNamespaceMapping.cs
- AssociationTypeEmitter.cs
- WeakReferenceKey.cs
- Brushes.cs
- PeerApplication.cs
- SliderAutomationPeer.cs
- HashSetEqualityComparer.cs
- MobileControlsSectionHelper.cs
- FileClassifier.cs
- StdValidatorsAndConverters.cs
- SessionStateUtil.cs
- ClientBuildManagerCallback.cs
- DataGridViewColumnCollectionEditor.cs
- TabItemWrapperAutomationPeer.cs
- AnnotationStore.cs
- XmlNodeChangedEventManager.cs
- DataGridGeneralPage.cs
- HostedTcpTransportManager.cs
- Stylus.cs
- DataBoundControlHelper.cs
- MemberMaps.cs
- InternalTypeHelper.cs
- MetadataArtifactLoader.cs
- CommandManager.cs
- WorkItem.cs
- BaseUriHelper.cs
- TypefaceMetricsCache.cs
- GlyphsSerializer.cs
- RequestCacheValidator.cs
- Process.cs
- AsyncResult.cs
- DivideByZeroException.cs
- URI.cs
- TextEffectCollection.cs
- WebEventCodes.cs
- FocusManager.cs
- DataGridViewColumnEventArgs.cs
- GridViewSelectEventArgs.cs
- EventListenerClientSide.cs
- InternalRelationshipCollection.cs
- PerformanceCounterLib.cs
- EventHandlingScope.cs
- DynamicResourceExtension.cs
- Collection.cs
- SizeFConverter.cs
- TraceHandler.cs
- SchemaTableOptionalColumn.cs
- ScriptControlManager.cs
- UidPropertyAttribute.cs
- MultipartContentParser.cs
- ListItemViewAttribute.cs
- ThreadAbortException.cs
- _CacheStreams.cs
- Propagator.cs
- ResourceExpression.cs
- OperationContextScope.cs
- GetKeyedHashRequest.cs
- ManifestResourceInfo.cs
- CompilerTypeWithParams.cs
- SerializationObjectManager.cs
- DictionaryCustomTypeDescriptor.cs
- UInt32Storage.cs
- HTMLTextWriter.cs
- WinCategoryAttribute.cs
- EncryptedXml.cs
- AuthorizationRule.cs
- ReversePositionQuery.cs
- StructuredTypeEmitter.cs