<Type Name="ServiceBrowser" FullName="Avahi.ServiceBrowser">
  <TypeSignature Language="C#" Value="public class ServiceBrowser : Avahi.BrowserBase, System.IDisposable" />
  <AssemblyInfo>
    <AssemblyName>avahi-sharp</AssemblyName>
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>Avahi.BrowserBase</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public ServiceBrowser (Avahi.Client client, string type);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="client" Type="Avahi.Client" />
        <Parameter Name="type" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="client">To be added.</param>
        <param name="type">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public ServiceBrowser (Avahi.Client client, string type, string domain);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="client" Type="Avahi.Client" />
        <Parameter Name="type" Type="System.String" />
        <Parameter Name="domain" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="client">To be added.</param>
        <param name="type">To be added.</param>
        <param name="domain">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ServiceAdded">
      <MemberSignature Language="C#" Value="public event Avahi.ServiceInfoHandler ServiceAdded;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Avahi.ServiceInfoHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ServiceRemoved">
      <MemberSignature Language="C#" Value="public event Avahi.ServiceInfoHandler ServiceRemoved;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Avahi.ServiceInfoHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</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>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Services">
      <MemberSignature Language="C#" Value="public Avahi.ServiceInfo[] Services { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Avahi.ServiceInfo[]</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public ServiceBrowser (Avahi.Client client, int iface, Avahi.Protocol proto, string type, string domain, Avahi.LookupFlags flags);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="client" Type="Avahi.Client" />
        <Parameter Name="iface" Type="System.Int32" />
        <Parameter Name="proto" Type="Avahi.Protocol" />
        <Parameter Name="type" Type="System.String" />
        <Parameter Name="domain" Type="System.String" />
        <Parameter Name="flags" Type="Avahi.LookupFlags" />
      </Parameters>
      <Docs>
        <param name="client">To be added.</param>
        <param name="iface">To be added.</param>
        <param name="proto">To be added.</param>
        <param name="type">To be added.</param>
        <param name="domain">To be added.</param>
        <param name="flags">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
  <Docs>
    <summary>To be added.</summary>
    <remarks>To be added.</remarks>
  </Docs>
</Type>
