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
- FilterableAttribute.cs
- IODescriptionAttribute.cs
- NextPreviousPagerField.cs
- Stack.cs
- ProviderConnectionPointCollection.cs
- DmlSqlGenerator.cs
- DataControlPagerLinkButton.cs
- EdmRelationshipRoleAttribute.cs
- ExpressionParser.cs
- MSAANativeProvider.cs
- SignedInfo.cs
- Variable.cs
- Decimal.cs
- AggregateNode.cs
- StateMachine.cs
- xmlglyphRunInfo.cs
- PriorityChain.cs
- OracleTransaction.cs
- XmlWhitespace.cs
- ILGenerator.cs
- Base64WriteStateInfo.cs
- ObjectViewQueryResultData.cs
- DrawingDrawingContext.cs
- DataGridViewBand.cs
- ControlPaint.cs
- SQLCharsStorage.cs
- AppDomainProtocolHandler.cs
- Sentence.cs
- EntityModelBuildProvider.cs
- AlignmentYValidation.cs
- NavigationWindow.cs
- RegexBoyerMoore.cs
- StringFreezingAttribute.cs
- SynchronizingStream.cs
- CompensationHandlingFilter.cs
- FileLevelControlBuilderAttribute.cs
- ModelUtilities.cs
- QueryInterceptorAttribute.cs
- HMACSHA512.cs
- Win32Interop.cs
- AvtEvent.cs
- ReplyChannelBinder.cs
- ValidateNames.cs
- RawKeyboardInputReport.cs
- OutputCacheModule.cs
- FlowchartDesigner.Helpers.cs
- OperationAbortedException.cs
- FixedSOMPageElement.cs
- FixedSOMContainer.cs
- Encoder.cs
- StringInfo.cs
- ByteAnimation.cs
- OperatingSystem.cs
- UriPrefixTable.cs
- LongTypeConverter.cs
- OciHandle.cs
- WebPartPersonalization.cs
- Misc.cs
- ChtmlImageAdapter.cs
- GradientSpreadMethodValidation.cs
- Size.cs
- FormsIdentity.cs
- invalidudtexception.cs
- SecurityHeaderElementInferenceEngine.cs
- URLMembershipCondition.cs
- ProjectedWrapper.cs
- COSERVERINFO.cs
- ListViewItemSelectionChangedEvent.cs
- DrawingContext.cs
- ClientSideProviderDescription.cs
- UrlAuthorizationModule.cs
- MemberCollection.cs
- BinaryObjectWriter.cs
- CodeTypeOfExpression.cs
- HtmlInputControl.cs
- SqlCachedBuffer.cs
- InputMethod.cs
- TextChangedEventArgs.cs
- LineBreak.cs
- PackagingUtilities.cs
- DataBindingCollection.cs
- HMACSHA384.cs
- DecimalStorage.cs
- SQLMoneyStorage.cs
- CssClassPropertyAttribute.cs
- DataPagerFieldCollection.cs
- BitmapDownload.cs
- Statements.cs
- ProviderConnectionPointCollection.cs
- RepeaterItem.cs
- PolicyManager.cs
- ThemeableAttribute.cs
- ContentAlignmentEditor.cs
- OracleFactory.cs
- GlobalizationAssembly.cs
- TransformerInfoCollection.cs
- XmlSchemaImport.cs
- StringUtil.cs
- MobileTextWriter.cs
- Matrix.cs