Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- ExtendedProtectionPolicy.cs
- TextEffectCollection.cs
- MethodCallConverter.cs
- NodeFunctions.cs
- TreeViewBindingsEditor.cs
- ConnectionPoint.cs
- MetadataItemCollectionFactory.cs
- MouseEvent.cs
- MimeMultiPart.cs
- Oid.cs
- AttributeCollection.cs
- ProcessModule.cs
- RestHandler.cs
- DaylightTime.cs
- SqlDataSourceEnumerator.cs
- PersonalizationStateInfo.cs
- Documentation.cs
- MulticastDelegate.cs
- NativeMethods.cs
- Visual3DCollection.cs
- ThreadInterruptedException.cs
- BitmapEffectGeneralTransform.cs
- XmlNodeReader.cs
- filewebresponse.cs
- OutputCacheSettings.cs
- HttpResponseWrapper.cs
- Image.cs
- MethodBuilderInstantiation.cs
- SqlConnectionHelper.cs
- DataShape.cs
- TransactionTraceIdentifier.cs
- Socket.cs
- PriorityBindingExpression.cs
- XPathNodeHelper.cs
- ShimAsPublicXamlType.cs
- SafeRightsManagementSessionHandle.cs
- ExpandCollapsePatternIdentifiers.cs
- ResolveDuplexAsyncResult.cs
- TrackingProfileDeserializationException.cs
- DiscoveryUtility.cs
- RadioButtonPopupAdapter.cs
- GridViewCellAutomationPeer.cs
- ADMembershipProvider.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- UnlockInstanceCommand.cs
- WebPartRestoreVerb.cs
- SerializationAttributes.cs
- DrawListViewSubItemEventArgs.cs
- SecurityProtocolCorrelationState.cs
- SizeConverter.cs
- SubqueryRules.cs
- SqlConnectionFactory.cs
- SqlProviderServices.cs
- AttachedPropertyBrowsableAttribute.cs
- ServiceDescriptionImporter.cs
- FormsAuthenticationUserCollection.cs
- SemanticResultKey.cs
- AnimationStorage.cs
- ViewManager.cs
- ListenerAdaptersInstallComponent.cs
- DataGridViewCellValueEventArgs.cs
- ProviderUtil.cs
- DSASignatureDeformatter.cs
- ScriptingJsonSerializationSection.cs
- AnimationTimeline.cs
- TextComposition.cs
- LogicalTreeHelper.cs
- ExpressionServices.cs
- ConfigXmlElement.cs
- FontNamesConverter.cs
- DbConnectionPoolOptions.cs
- updatecommandorderer.cs
- SystemTcpStatistics.cs
- ParallelTimeline.cs
- SQLDecimal.cs
- TextProperties.cs
- FileRecordSequenceCompletedAsyncResult.cs
- DataGridViewCellConverter.cs
- TextDecoration.cs
- BoundColumn.cs
- ListViewSortEventArgs.cs
- Opcode.cs
- WhereaboutsReader.cs
- InvalidCommandTreeException.cs
- WebPageTraceListener.cs
- SqlUdtInfo.cs
- PagerSettings.cs
- IssuedTokenServiceCredential.cs
- ReaderOutput.cs
- XmlDataContract.cs
- Margins.cs
- CodeEntryPointMethod.cs
- XmlSchemaValidationException.cs
- X509DefaultServiceCertificateElement.cs
- SHA384.cs
- CodeObject.cs
- LingerOption.cs
- TextContainerHelper.cs
- TdsParser.cs
- DoubleUtil.cs