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
- HttpCookiesSection.cs
- VectorAnimationBase.cs
- _ConnectStream.cs
- CodeAccessPermission.cs
- StreamedFramingRequestChannel.cs
- GlobalId.cs
- LinkUtilities.cs
- DataPagerFieldCommandEventArgs.cs
- ResizeBehavior.cs
- PenContext.cs
- CurrencyManager.cs
- DataSourceSelectArguments.cs
- StickyNoteHelper.cs
- BaseTemplateParser.cs
- HijriCalendar.cs
- LinkConverter.cs
- BulletChrome.cs
- ProcessHostFactoryHelper.cs
- AsymmetricKeyExchangeFormatter.cs
- WindowsMenu.cs
- DesignerVerbCollection.cs
- AttributeCollection.cs
- SimpleHandlerFactory.cs
- CompilerTypeWithParams.cs
- TimeStampChecker.cs
- SerializationTrace.cs
- SynchronizedPool.cs
- FocusManager.cs
- _OSSOCK.cs
- CheckBox.cs
- SiteMapProvider.cs
- WindowsGrip.cs
- FormatSelectingMessageInspector.cs
- ResetableIterator.cs
- XmlIncludeAttribute.cs
- AttributeCollection.cs
- HyperLinkStyle.cs
- ProviderConnectionPointCollection.cs
- FunctionMappingTranslator.cs
- HttpRequest.cs
- TextUtf8RawTextWriter.cs
- GenericRootAutomationPeer.cs
- Label.cs
- HTTPNotFoundHandler.cs
- DiscreteKeyFrames.cs
- columnmapkeybuilder.cs
- EmissiveMaterial.cs
- PowerModeChangedEventArgs.cs
- ProviderUtil.cs
- TreeNodeBindingCollection.cs
- ReadOnlyHierarchicalDataSourceView.cs
- DigestComparer.cs
- ValidatorAttribute.cs
- SiteOfOriginContainer.cs
- MsmqIntegrationBindingElement.cs
- ElementHostAutomationPeer.cs
- DefinitionBase.cs
- Translator.cs
- FilterableAttribute.cs
- IdentityValidationException.cs
- SettingsPropertyIsReadOnlyException.cs
- SignedPkcs7.cs
- AppDomainManager.cs
- WindowsFormsLinkLabel.cs
- DataGridViewIntLinkedList.cs
- AlignmentYValidation.cs
- ThreadSafeList.cs
- AsyncOperation.cs
- XsdBuilder.cs
- RC2CryptoServiceProvider.cs
- DataGridViewTextBoxColumn.cs
- SmtpReplyReaderFactory.cs
- FullTextLine.cs
- SynchronizationContext.cs
- CngKey.cs
- PartitionerStatic.cs
- ObfuscationAttribute.cs
- RegexFCD.cs
- ConstNode.cs
- SR.cs
- ColorAnimationBase.cs
- DesignBinding.cs
- EventBindingService.cs
- ButtonBase.cs
- BuilderPropertyEntry.cs
- FragmentQueryKB.cs
- CompilerResults.cs
- TemplateBamlRecordReader.cs
- ConnectionManagementSection.cs
- ColorMatrix.cs
- Camera.cs
- XomlDesignerLoader.cs
- DataGridViewComboBoxCell.cs
- OleDbSchemaGuid.cs
- ObjRef.cs
- VectorCollectionValueSerializer.cs
- _SslSessionsCache.cs
- BoolExpressionVisitors.cs
- FlagsAttribute.cs
- ThreadExceptionEvent.cs