<Type Name="WebSource" FullName="Mono.WebServer.WebSource">
  <TypeSignature Language="C#" Value="public abstract class WebSource : IDisposable" />
  <AssemblyInfo>
    <AssemblyName>Mono.WebServer2</AssemblyName>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <summary>This abstract class produces the implementation specific components needed to run the <see cref="T:Mono.WebServer.ApplicationServer" />.</summary>
    <remarks></remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected WebSource ();" />
      <MemberType>Constructor</MemberType>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="CreateRequestBroker">
      <MemberSignature Language="C#" Value="public abstract Mono.WebServer.IRequestBroker CreateRequestBroker ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Mono.WebServer.IRequestBroker</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Creates a request broker for managing requests.</summary>
        <returns>A <see cref="T:Mono.WebServer.IRequestBroker" /> containing a request broker for managing requests.</returns>
        <remarks>Each application host receives its own request broker.</remarks>
      </Docs>
    </Member>
    <Member MemberName="CreateSocket">
      <MemberSignature Language="C#" Value="public abstract System.Net.Sockets.Socket CreateSocket ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Net.Sockets.Socket</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Creates a bound socket to be used for listening for new connections.</summary>
        <returns>A <see cref="T:System.Net.Sockets.Socket" /> object containing a socket to be used for listening for new connections.</returns>
        <remarks></remarks>
      </Docs>
    </Member>
    <Member MemberName="CreateWorker">
      <MemberSignature Language="C#" Value="public abstract Mono.WebServer.Worker CreateWorker (System.Net.Sockets.Socket client, Mono.WebServer.ApplicationServer server);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Mono.WebServer.Worker</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="client" Type="System.Net.Sockets.Socket" />
        <Parameter Name="server" Type="Mono.WebServer.ApplicationServer" />
      </Parameters>
      <Docs>
        <param name="client">A <see cref="T:System.Net.Sockets.Socket" /> object containing a client socket accepted from the listen socket 
created by <see cref="M:Mono.WebServer.WebSource.CreateSocket" />.</param>
        <param name="server">A <see cref="T:Mono.WebServer.ApplicationServer" /> object containing the server that created the current instance.</param>
        <summary>Creates a worker to use to run a request on a client socket.</summary>
        <returns>A <see cref="T:Mono.WebServer.Worker" /> to use to run a request.</returns>
        <remarks></remarks>
      </Docs>
    </Member>
    <Member MemberName="Dispose">
      <MemberSignature Language="C#" Value="public void Dispose ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Disposes of the the resources contained in the current instance.</summary>
        <remarks>Implemented for <see cref="T:System.IDisposable" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Dispose">
      <MemberSignature Language="C#" Value="protected virtual void Dispose (bool disposing);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="disposing" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="disposing">A <see langword="bool" /> indicating whether or not the current instance is disposing. If <see langword="false"/>, 
the method was called by the class and not the garbage collector.</param>
        <summary>Disposes of the the resources contained in the current instance.</summary>
        <remarks></remarks>
      </Docs>
    </Member>
    <Member MemberName="GetApplicationHostType">
      <MemberSignature Language="C#" Value="public abstract Type GetApplicationHostType ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Type</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Gets the type of application host to use with the current instance.</summary>
        <returns>A <see cref="T:System.Type" /> containing the type of application host to use with the current instance.</returns>
        <remarks><para>The type of class returned must implement <see cref="T:Mono.WebServer.IApplicationHost" />.</para>
<para>This type is used internally to create a <see cref="T:Mono.WebServer.IApplicationHost" /> in a specified <see cref="T:System.AppDomain" /> 
via <see cref="M:System.Web.Hosting.ApplicationHost.CreateApplicationHost"/>.</para>
	</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
