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
- ObjectConverter.cs
- ReadOnlyDataSourceView.cs
- ServiceElementCollection.cs
- XmlSchemaExporter.cs
- MessageSecurityOverTcp.cs
- SQLInt64Storage.cs
- MediaContextNotificationWindow.cs
- TypeSystem.cs
- QilList.cs
- DES.cs
- ActivityValidator.cs
- HitTestWithGeometryDrawingContextWalker.cs
- WindowsToolbarItemAsMenuItem.cs
- SqlServer2KCompatibilityCheck.cs
- Util.cs
- GuidTagList.cs
- ToolStripItemClickedEventArgs.cs
- IconHelper.cs
- NullReferenceException.cs
- GradientBrush.cs
- CodeTryCatchFinallyStatement.cs
- NumericUpDown.cs
- OdbcCommand.cs
- AutomationPatternInfo.cs
- DockProviderWrapper.cs
- XmlEntity.cs
- ExtentKey.cs
- EmissiveMaterial.cs
- ParentQuery.cs
- EmptyEnumerable.cs
- ConcurrentBag.cs
- DataGridViewUtilities.cs
- IPAddress.cs
- ClonableStack.cs
- NominalTypeEliminator.cs
- DataGridViewCellPaintingEventArgs.cs
- HierarchicalDataBoundControl.cs
- CodeDOMProvider.cs
- ExternalCalls.cs
- _ConnectOverlappedAsyncResult.cs
- TimelineGroup.cs
- ActiveXHelper.cs
- MasterPageParser.cs
- IdentityManager.cs
- Size.cs
- CodeDomSerializerBase.cs
- DebugView.cs
- XmlSchemaSubstitutionGroup.cs
- BaseTypeViewSchema.cs
- AccessControlEntry.cs
- BinHexDecoder.cs
- CompilationSection.cs
- UnsafeNativeMethods.cs
- PathFigure.cs
- CodeMethodReturnStatement.cs
- Properties.cs
- XmlDomTextWriter.cs
- SizeChangedEventArgs.cs
- NewExpression.cs
- OracleRowUpdatedEventArgs.cs
- MergablePropertyAttribute.cs
- XmlProcessingInstruction.cs
- ReleaseInstanceMode.cs
- ContravarianceAdapter.cs
- DataGridViewImageColumn.cs
- DataGridViewComboBoxEditingControl.cs
- WindowsListViewSubItem.cs
- DbParameterHelper.cs
- PlatformNotSupportedException.cs
- EntityDataSourceColumn.cs
- HostedTransportConfigurationBase.cs
- AttachedAnnotationChangedEventArgs.cs
- Resources.Designer.cs
- ContentPosition.cs
- DesignerVerb.cs
- CompilationPass2Task.cs
- DesignerSelectionListAdapter.cs
- VisualStateChangedEventArgs.cs
- Logging.cs
- HebrewCalendar.cs
- unsafenativemethodstextservices.cs
- InlineUIContainer.cs
- WaitHandleCannotBeOpenedException.cs
- BaseParser.cs
- RemoteWebConfigurationHostServer.cs
- XmlSchemaSimpleType.cs
- BaseValidatorDesigner.cs
- SendKeys.cs
- BitmapImage.cs
- HttpServerVarsCollection.cs
- BitVector32.cs
- ControlPersister.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- SchemeSettingElementCollection.cs
- Msmq4SubqueuePoisonHandler.cs
- DesignTimeParseData.cs
- PageCatalogPart.cs
- SerializerProvider.cs
- PrincipalPermission.cs
- DefaultValueConverter.cs