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
- Binding.cs
- ResourceContainer.cs
- UserValidatedEventArgs.cs
- TextBoxAutoCompleteSourceConverter.cs
- UnknownBitmapEncoder.cs
- AppDomain.cs
- CodeNamespaceCollection.cs
- InfiniteTimeSpanConverter.cs
- TypeDescriptorContext.cs
- ZipIOExtraFieldZip64Element.cs
- ScrollChrome.cs
- HttpListenerPrefixCollection.cs
- FilterQuery.cs
- SQLBytesStorage.cs
- WindowsUpDown.cs
- SQlBooleanStorage.cs
- GatewayDefinition.cs
- SqlBooleanMismatchVisitor.cs
- NumberSubstitution.cs
- SqlError.cs
- DesignerInterfaces.cs
- Command.cs
- CompiledQueryCacheEntry.cs
- Overlapped.cs
- XmlHierarchyData.cs
- XmlSchemaChoice.cs
- ChildDocumentBlock.cs
- SettingsAttributes.cs
- PropertyDescriptor.cs
- PropertyFilter.cs
- HiddenFieldPageStatePersister.cs
- CompilerLocalReference.cs
- safex509handles.cs
- LambdaCompiler.cs
- LineProperties.cs
- ToolStripTextBox.cs
- XPathMessageContext.cs
- HtmlHead.cs
- FontDialog.cs
- SwitchLevelAttribute.cs
- RepeatInfo.cs
- SamlSerializer.cs
- MetadataSerializer.cs
- LiteralControl.cs
- LogManagementAsyncResult.cs
- EmptyElement.cs
- mediaeventshelper.cs
- MetadataUtilsSmi.cs
- Utils.cs
- BooleanSwitch.cs
- InheritanceContextHelper.cs
- TypeUsageBuilder.cs
- Int64AnimationUsingKeyFrames.cs
- SmtpException.cs
- ModelPropertyImpl.cs
- SqlUDTStorage.cs
- SegmentInfo.cs
- AttributeAction.cs
- DelegateSerializationHolder.cs
- DynamicRenderer.cs
- IdentifierService.cs
- LocalizationParserHooks.cs
- TextServicesDisplayAttribute.cs
- WindowPattern.cs
- SqlDataSourceEnumerator.cs
- ExpressionHelper.cs
- M3DUtil.cs
- AnimatedTypeHelpers.cs
- BufferedOutputStream.cs
- BitmapData.cs
- ScrollItemPatternIdentifiers.cs
- GridViewDeleteEventArgs.cs
- ButtonAutomationPeer.cs
- AttributeCollection.cs
- MatrixCamera.cs
- ClientTargetSection.cs
- TreeNodeCollectionEditorDialog.cs
- MetadataCache.cs
- EllipticalNodeOperations.cs
- OdbcConnectionFactory.cs
- TextServicesCompartment.cs
- BrowserCapabilitiesCompiler.cs
- DbRetry.cs
- WebBrowserHelper.cs
- CfgParser.cs
- NonVisualControlAttribute.cs
- BuildManagerHost.cs
- WindowsGraphicsWrapper.cs
- Globals.cs
- DataListItemCollection.cs
- VersionedStream.cs
- DeclarationUpdate.cs
- infer.cs
- NavigationExpr.cs
- MarshalByValueComponent.cs
- RsaSecurityTokenAuthenticator.cs
- MissingSatelliteAssemblyException.cs
- UnsafeNativeMethods.cs
- SettingsPropertyValue.cs
- DataGridAutoGeneratingColumnEventArgs.cs