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
- DataGridViewAddColumnDialog.cs
- DeflateStream.cs
- ImagingCache.cs
- WebServiceMethodData.cs
- Configuration.cs
- ClientConfigurationHost.cs
- HttpValueCollection.cs
- Bold.cs
- FieldAccessException.cs
- DataExpression.cs
- CodeGotoStatement.cs
- ExpressionParser.cs
- StateDesigner.TransitionInfo.cs
- AlternateView.cs
- StringConverter.cs
- JsonClassDataContract.cs
- Faults.cs
- HttpClientCredentialType.cs
- SupportingTokenSpecification.cs
- EntryWrittenEventArgs.cs
- EntityKey.cs
- SystemTcpConnection.cs
- OracleConnection.cs
- GetIndexBinder.cs
- Membership.cs
- SelectionHighlightInfo.cs
- ObjectItemCollection.cs
- ThreadStartException.cs
- ValidationRule.cs
- ColorConvertedBitmapExtension.cs
- MethodBody.cs
- SQLBinary.cs
- URLAttribute.cs
- ConfigurationException.cs
- ObfuscateAssemblyAttribute.cs
- AliasedExpr.cs
- OperationInvokerTrace.cs
- CqlWriter.cs
- RowUpdatedEventArgs.cs
- Mutex.cs
- CFStream.cs
- GroupBox.cs
- MDIClient.cs
- OpenTypeLayout.cs
- MarkedHighlightComponent.cs
- CompareInfo.cs
- InstanceDataCollectionCollection.cs
- ClientFormsIdentity.cs
- DataGridLinkButton.cs
- HtmlTableRow.cs
- WebPartDisplayModeEventArgs.cs
- ClientRolePrincipal.cs
- ScriptingWebServicesSectionGroup.cs
- XmlNamespaceMapping.cs
- OrderPreservingSpoolingTask.cs
- ElementMarkupObject.cs
- ErrorStyle.cs
- GetWinFXPath.cs
- NotifyInputEventArgs.cs
- SessionEndedEventArgs.cs
- CodeObject.cs
- MembershipValidatePasswordEventArgs.cs
- RestHandlerFactory.cs
- ImmComposition.cs
- ZipIOCentralDirectoryFileHeader.cs
- StructuralCache.cs
- FactoryGenerator.cs
- ObjectNotFoundException.cs
- InternalResources.cs
- ApplicationHost.cs
- XdrBuilder.cs
- UIElementHelper.cs
- SHA1Managed.cs
- CacheHelper.cs
- GeneralTransform2DTo3DTo2D.cs
- baseaxisquery.cs
- DelayedRegex.cs
- PrintPreviewDialog.cs
- ParserExtension.cs
- ExtractorMetadata.cs
- ValidationEventArgs.cs
- HtmlTable.cs
- ComponentDesigner.cs
- connectionpool.cs
- XmlSchemaSimpleContentRestriction.cs
- ArithmeticLiteral.cs
- ImageCodecInfo.cs
- TableRowGroup.cs
- HttpServerVarsCollection.cs
- Bezier.cs
- ObservableCollection.cs
- DataTrigger.cs
- XmlValueConverter.cs
- XmlResolver.cs
- SafeNativeMethodsOther.cs
- ObjectAnimationUsingKeyFrames.cs
- RepeatButtonAutomationPeer.cs
- InvalidOleVariantTypeException.cs
- LocalBuilder.cs
- SystemSounds.cs