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
- CompressStream.cs
- BitmapEffectGeneralTransform.cs
- DataKeyCollection.cs
- CollectionChangedEventManager.cs
- NativeMethods.cs
- PaperSource.cs
- RuleInfoComparer.cs
- PartialList.cs
- XmlSchemaAttribute.cs
- XmlILTrace.cs
- WhitespaceRuleReader.cs
- SectionInput.cs
- PersistenceMetadataNamespace.cs
- FixedSOMTable.cs
- FormsAuthenticationUser.cs
- MasterPageCodeDomTreeGenerator.cs
- DefaultValidator.cs
- AutoGeneratedFieldProperties.cs
- ObjectItemNoOpAssemblyLoader.cs
- StandardToolWindows.cs
- DropDownButton.cs
- wmiprovider.cs
- DataGridViewRow.cs
- RepeaterItemCollection.cs
- Stacktrace.cs
- InProcStateClientManager.cs
- BorderGapMaskConverter.cs
- PngBitmapEncoder.cs
- EncryptedReference.cs
- HuffModule.cs
- QueryGenerator.cs
- VScrollBar.cs
- nulltextnavigator.cs
- ConstantSlot.cs
- UnionCqlBlock.cs
- DocumentPage.cs
- XmlDataProvider.cs
- ExtensionCollection.cs
- XmlToDatasetMap.cs
- FontConverter.cs
- SQLInt16.cs
- TagMapCollection.cs
- EventLogEntryCollection.cs
- XmlSchemaSubstitutionGroup.cs
- PropertyDescriptor.cs
- Italic.cs
- ToolBar.cs
- DocumentPageViewAutomationPeer.cs
- FormsAuthenticationModule.cs
- Pointer.cs
- _BufferOffsetSize.cs
- FactoryGenerator.cs
- IssuerInformation.cs
- UriSectionData.cs
- RootAction.cs
- ControlIdConverter.cs
- WmlTextViewAdapter.cs
- SystemGatewayIPAddressInformation.cs
- DataShape.cs
- DataGridViewCellStyleBuilderDialog.cs
- KerberosRequestorSecurityToken.cs
- COM2ICategorizePropertiesHandler.cs
- Menu.cs
- WindowsListViewScroll.cs
- CacheHelper.cs
- SelfIssuedSamlTokenFactory.cs
- TypeLibConverter.cs
- UInt32Storage.cs
- XmlSerializableWriter.cs
- XmlSchemaImport.cs
- SystemKeyConverter.cs
- wgx_exports.cs
- GeometryDrawing.cs
- ThreadAbortException.cs
- ToolStripDropDown.cs
- ipaddressinformationcollection.cs
- SchemaImporterExtensionElement.cs
- GPPOINT.cs
- GenerateScriptTypeAttribute.cs
- XmlObjectSerializerContext.cs
- WinOEToolBoxItem.cs
- Atom10ItemFormatter.cs
- BooleanToVisibilityConverter.cs
- TypeForwardedToAttribute.cs
- WindowsListViewSubItem.cs
- ServiceSecurityContext.cs
- DataGridViewCell.cs
- InputMethodStateTypeInfo.cs
- Freezable.cs
- SourceItem.cs
- RuntimeArgumentHandle.cs
- dataobject.cs
- ProcessHostMapPath.cs
- NetWebProxyFinder.cs
- MatrixTransform.cs
- OutputBuffer.cs
- CapabilitiesPattern.cs
- TypeUtil.cs
- Int32AnimationBase.cs
- StringComparer.cs