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
- COM2PictureConverter.cs
- ThicknessConverter.cs
- AnnotationElement.cs
- SchemaMapping.cs
- Privilege.cs
- MD5.cs
- DataBoundControlParameterTarget.cs
- ParameterCollection.cs
- StringArrayConverter.cs
- Blend.cs
- PersonalizationState.cs
- RestHandler.cs
- XmlSchemaComplexContent.cs
- ValidateNames.cs
- TreeNodeBinding.cs
- ClientRuntimeConfig.cs
- XPathPatternParser.cs
- TextRangeSerialization.cs
- HTMLTextWriter.cs
- TableStyle.cs
- LinkArea.cs
- SafeCertificateContext.cs
- DataGridPageChangedEventArgs.cs
- ResourceReader.cs
- StyleBamlTreeBuilder.cs
- IProvider.cs
- DbConnectionStringCommon.cs
- RectKeyFrameCollection.cs
- AutomationAttributeInfo.cs
- RenderData.cs
- EntityDescriptor.cs
- PropertyChangedEventArgs.cs
- Pair.cs
- FileController.cs
- PreloadedPackages.cs
- ImageFormat.cs
- ProgressBarBrushConverter.cs
- CodeChecksumPragma.cs
- SrgsGrammar.cs
- CompilerResults.cs
- CompilationUtil.cs
- SqlCacheDependencyDatabase.cs
- String.cs
- RoutedEvent.cs
- PersonalizationStateQuery.cs
- MemberPath.cs
- ComboBoxAutomationPeer.cs
- HttpResponse.cs
- ProfileGroupSettings.cs
- CellNormalizer.cs
- WindowsListBox.cs
- _NativeSSPI.cs
- DataProtection.cs
- Encoding.cs
- FileLoadException.cs
- GeneratedContractType.cs
- RuleConditionDialog.cs
- DetailsViewDeleteEventArgs.cs
- SchemaCollectionPreprocessor.cs
- SessionPageStatePersister.cs
- SymLanguageType.cs
- RichTextBoxDesigner.cs
- XmlSchemaElement.cs
- RequestDescription.cs
- PreservationFileWriter.cs
- ClientRoleProvider.cs
- JoinSymbol.cs
- PrimitiveSchema.cs
- RoleManagerModule.cs
- ImageAttributes.cs
- ComboBoxRenderer.cs
- XmlDocumentType.cs
- TextEditor.cs
- OperationCanceledException.cs
- TextServicesDisplayAttribute.cs
- BuiltInPermissionSets.cs
- formatter.cs
- Scene3D.cs
- CreationContext.cs
- FileDialog_Vista_Interop.cs
- HtmlWindow.cs
- WindowsComboBox.cs
- BindUriHelper.cs
- BamlBinaryReader.cs
- HyperLink.cs
- DirectoryInfo.cs
- CharacterBuffer.cs
- KoreanLunisolarCalendar.cs
- CryptoKeySecurity.cs
- ResourceDescriptionAttribute.cs
- VisualTreeHelper.cs
- TransformerInfo.cs
- DataGridViewColumnConverter.cs
- SystemIPInterfaceStatistics.cs
- SqlNamer.cs
- Effect.cs
- SafeFileMappingHandle.cs
- XmlSerializerVersionAttribute.cs
- Logging.cs
- SqlInternalConnectionSmi.cs