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
- SortDescription.cs
- ConfigViewGenerator.cs
- FontStretches.cs
- SqlMultiplexer.cs
- GridViewRowPresenterBase.cs
- BuildProviderCollection.cs
- XmlEventCache.cs
- SqlDataReaderSmi.cs
- CollectionBase.cs
- PropertyTabAttribute.cs
- SpoolingTask.cs
- TypePresenter.xaml.cs
- DirtyTextRange.cs
- _DomainName.cs
- StorageComplexPropertyMapping.cs
- XmlSchemaSimpleContentRestriction.cs
- IPEndPointCollection.cs
- DataGridItem.cs
- DiscoveryDocument.cs
- XmlEntityReference.cs
- UniqueContractNameValidationBehavior.cs
- Button.cs
- VersionPair.cs
- CollectionConverter.cs
- QilParameter.cs
- QueryCacheKey.cs
- ReferencedType.cs
- SoapElementAttribute.cs
- ByteKeyFrameCollection.cs
- BamlBinaryWriter.cs
- DynamicObject.cs
- MarginsConverter.cs
- DataGridTableCollection.cs
- ToolStripTextBox.cs
- MethodExpr.cs
- Stack.cs
- XmlSchemaChoice.cs
- ListParaClient.cs
- CompressedStack.cs
- SignerInfo.cs
- PropertyPushdownHelper.cs
- DataViewManager.cs
- ObjectReferenceStack.cs
- CreateRefExpr.cs
- FormsAuthenticationUser.cs
- FloaterBaseParaClient.cs
- ProfileGroupSettingsCollection.cs
- EmptyStringExpandableObjectConverter.cs
- ThreadStartException.cs
- Configuration.cs
- CallbackHandler.cs
- basevalidator.cs
- XamlParser.cs
- NavigationPropertyEmitter.cs
- ExceptionUtility.cs
- XmlCustomFormatter.cs
- SelectedDatesCollection.cs
- ConfigurationLocation.cs
- GeneralTransformGroup.cs
- ModelItem.cs
- BufferModeSettings.cs
- PersonalizationProviderCollection.cs
- ActivationServices.cs
- VerifyHashRequest.cs
- DeclarativeCatalogPart.cs
- Attributes.cs
- ImageCollectionCodeDomSerializer.cs
- XmlSchemaProviderAttribute.cs
- MimeObjectFactory.cs
- XPathNodePointer.cs
- WebServiceHostFactory.cs
- SqlBuilder.cs
- AstNode.cs
- TypeValidationEventArgs.cs
- CellLabel.cs
- AddInAdapter.cs
- CapabilitiesAssignment.cs
- ContextStack.cs
- AddInAttribute.cs
- CheckBoxBaseAdapter.cs
- BitmapEffectInputConnector.cs
- NativeObjectSecurity.cs
- OracleString.cs
- MetafileHeaderWmf.cs
- BitmapEffectvisualstate.cs
- SymmetricCryptoHandle.cs
- LocalBuilder.cs
- GridViewCellAutomationPeer.cs
- DataColumn.cs
- StringConverter.cs
- DataGridViewHeaderCell.cs
- ComboBox.cs
- XmlObjectSerializerWriteContext.cs
- SoapInteropTypes.cs
- SafeNativeMethods.cs
- GenericPrincipal.cs
- HyperLink.cs
- AttachedPropertyDescriptor.cs
- UpdatableGenericsFeature.cs
- Expression.cs