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
- SignatureGenerator.cs
- DefaultProxySection.cs
- IndentedWriter.cs
- TextRunProperties.cs
- SqlGatherProducedAliases.cs
- MergeFailedEvent.cs
- WorkflowInstanceProxy.cs
- HostDesigntimeLicenseContext.cs
- TypedTableBase.cs
- BaseHashHelper.cs
- AxHost.cs
- SecurityKeyEntropyMode.cs
- ObjectStateEntry.cs
- TextCharacters.cs
- Vertex.cs
- GAC.cs
- MetricEntry.cs
- Win32SafeHandles.cs
- GcSettings.cs
- Variant.cs
- StorageConditionPropertyMapping.cs
- PropertyInformationCollection.cs
- wgx_sdk_version.cs
- ExpressionConverter.cs
- ContentControl.cs
- SecurityIdentifierElementCollection.cs
- ParagraphVisual.cs
- UrlMappingsSection.cs
- OptionalMessageQuery.cs
- WindowShowOrOpenTracker.cs
- StrokeNodeData.cs
- SqlDataSourceEnumerator.cs
- SystemFonts.cs
- CommandEventArgs.cs
- PassportIdentity.cs
- EdmSchemaAttribute.cs
- CodeTypeParameter.cs
- HttpCookie.cs
- PageHandlerFactory.cs
- _FixedSizeReader.cs
- ProcessInfo.cs
- TypeNameParser.cs
- DSASignatureDeformatter.cs
- QilLiteral.cs
- ThousandthOfEmRealDoubles.cs
- OrderPreservingPipeliningMergeHelper.cs
- Opcode.cs
- PrintingPermission.cs
- PathSegmentCollection.cs
- RawUIStateInputReport.cs
- MetabaseSettingsIis7.cs
- WebRequest.cs
- HybridObjectCache.cs
- ClipboardData.cs
- SettingsPropertyValueCollection.cs
- HelpEvent.cs
- InkCanvasInnerCanvas.cs
- SafeThemeHandle.cs
- DescendantOverDescendantQuery.cs
- TableChangeProcessor.cs
- ViewManager.cs
- ReflectionHelper.cs
- ScrollPattern.cs
- ItemChangedEventArgs.cs
- BindingContext.cs
- DateTimeFormat.cs
- OleDbFactory.cs
- OrderPreservingPipeliningMergeHelper.cs
- CertificateManager.cs
- RijndaelManaged.cs
- AttributeQuery.cs
- DetailsViewPagerRow.cs
- XmlNodeChangedEventArgs.cs
- DataServiceStreamResponse.cs
- StateManagedCollection.cs
- SpecialNameAttribute.cs
- TypeUnloadedException.cs
- LinkedResourceCollection.cs
- BitmapEffectInput.cs
- CalendarDataBindingHandler.cs
- DesignOnlyAttribute.cs
- MimeWriter.cs
- WindowsListViewScroll.cs
- unsafenativemethodstextservices.cs
- ProxyWebPart.cs
- DocumentOutline.cs
- BaseComponentEditor.cs
- FillErrorEventArgs.cs
- Merger.cs
- SharedStatics.cs
- CustomErrorsSection.cs
- StrongNameIdentityPermission.cs
- MessageHeaderDescription.cs
- ColorConverter.cs
- SynchronizationScope.cs
- DataServiceProviderMethods.cs
- userdatakeys.cs
- LocalizationParserHooks.cs
- SrgsRuleRef.cs
- Pair.cs