Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- BigInt.cs
- TableLayoutStyleCollection.cs
- BaseResourcesBuildProvider.cs
- ProofTokenCryptoHandle.cs
- FillBehavior.cs
- HtmlElementErrorEventArgs.cs
- EncoderReplacementFallback.cs
- parserscommon.cs
- TdsRecordBufferSetter.cs
- DropDownButton.cs
- ReadOnlyAttribute.cs
- ExecutedRoutedEventArgs.cs
- ExpressionEditorAttribute.cs
- Translator.cs
- DetailsView.cs
- DSACryptoServiceProvider.cs
- GeneralTransform.cs
- ClientConvert.cs
- ProfessionalColors.cs
- XmlCompatibilityReader.cs
- FixedHighlight.cs
- DataControlLinkButton.cs
- Bold.cs
- RequestCacheEntry.cs
- RectangleF.cs
- ResolveMatchesMessageCD1.cs
- WebPartConnectionsEventArgs.cs
- QuadraticBezierSegment.cs
- IdentityValidationException.cs
- CssClassPropertyAttribute.cs
- XmlDictionary.cs
- StatusBarAutomationPeer.cs
- nulltextnavigator.cs
- Knowncolors.cs
- KeyPressEvent.cs
- _ConnectOverlappedAsyncResult.cs
- StopStoryboard.cs
- InternalConfigHost.cs
- ScriptModule.cs
- WebDisplayNameAttribute.cs
- Substitution.cs
- OperatingSystemVersionCheck.cs
- PropertyPathWorker.cs
- GestureRecognizer.cs
- DesignTimeParseData.cs
- WebControlAdapter.cs
- StackSpiller.Bindings.cs
- XmlElement.cs
- XmlCountingReader.cs
- CodeNamespaceImportCollection.cs
- AppLevelCompilationSectionCache.cs
- XdrBuilder.cs
- _TimerThread.cs
- SqlDataSource.cs
- ByteFacetDescriptionElement.cs
- CopyOnWriteList.cs
- ArraySegment.cs
- PageEventArgs.cs
- RoutedCommand.cs
- CacheOutputQuery.cs
- MetadataItemSerializer.cs
- FilterEventArgs.cs
- QilTargetType.cs
- OneOf.cs
- NetworkInformationPermission.cs
- PropertyDescriptor.cs
- XmlSchemaAny.cs
- UpDownBaseDesigner.cs
- MissingFieldException.cs
- Single.cs
- CharacterMetricsDictionary.cs
- Condition.cs
- arclist.cs
- EntityDescriptor.cs
- OutputCacheSettingsSection.cs
- MetadataExporter.cs
- SmiTypedGetterSetter.cs
- PeerValidationBehavior.cs
- BitmapEffectDrawingContent.cs
- AppDomainCompilerProxy.cs
- XPathDescendantIterator.cs
- RecipientInfo.cs
- EtwTrace.cs
- Memoizer.cs
- Image.cs
- ErrorTableItemStyle.cs
- LicFileLicenseProvider.cs
- RemoveStoryboard.cs
- NamedPipeWorkerProcess.cs
- WorkflowTraceTransfer.cs
- RowVisual.cs
- ToolStripSeparator.cs
- Enum.cs
- GPPOINTF.cs
- DbDataSourceEnumerator.cs
- Debug.cs
- NamedPipeProcessProtocolHandler.cs
- RightsManagementEncryptionTransform.cs
- Condition.cs
- TypedTableGenerator.cs