<Type Name="ErrorCodeArgs" FullName="Avahi.ErrorCodeArgs">
  <TypeSignature Language="C#" Value="public class ErrorCodeArgs : System.EventArgs" />
  <AssemblyInfo>
    <AssemblyName>avahi-sharp</AssemblyName>
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.EventArgs</BaseTypeName>
  </Base>
  <Interfaces />
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public ErrorCodeArgs (Avahi.ErrorCode code);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="code" Type="Avahi.ErrorCode" />
      </Parameters>
      <Docs>
        <param name="code">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ErrorCode">
      <MemberSignature Language="C#" Value="public Avahi.ErrorCode ErrorCode { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Avahi.ErrorCode</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
  <Docs>
    <summary>To be added.</summary>
    <remarks>To be added.</remarks>
  </Docs>
</Type>
