<Type Name="Signal" FullName="GLib.Signal">
  <TypeSignature Language="C#" Value="public class Signal" Maintainer="auto" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Signal extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>glib-sharp</AssemblyName>
    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64 96 A4 7C B4]</AssemblyPublicKey>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>Signal Binding</summary>
    <remarks>Used by GLib.Object subclasses to bind events to native GObject properties.</remarks>
    <since version="Gtk# 2.4" />
  </Docs>
  <Members>
    <Member MemberName="AddDelegate">
      <MemberSignature Language="C#" Value="public void AddDelegate (Delegate d);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddDelegate(class System.Delegate d) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="d" Type="System.Delegate" />
      </Parameters>
      <Docs>
        <param name="d">a <see cref="T:System.Delegate" /></param>
        <summary>Adds a delegate to the signal.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="AddEmissionHook">
      <MemberSignature Language="C#" Value="public static ulong AddEmissionHook (string detailed_signal, GLib.GType type, GLib.Signal.EmissionHook handler_func);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig unsigned int64 AddEmissionHook(string detailed_signal, valuetype GLib.GType type, class GLib.Signal/EmissionHook handler_func) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt64</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="detailed_signal" Type="System.String" />
        <Parameter Name="type" Type="GLib.GType" />
        <Parameter Name="handler_func" Type="GLib.Signal+EmissionHook" />
      </Parameters>
      <Docs>
        <param name="detailed_signal">detailed signal name.</param>
        <param name="type">native type containing signal.</param>
        <param name="handler_func">callback.</param>
        <summary>Installs an emission hook into the native signal emission.</summary>
        <returns>an unsigned long.</returns>
        <remarks>Power user feature.  For more information, consult the gtk+ documentation.</remarks>
        <since version="Gtk# 2.12" />
      </Docs>
    </Member>
    <Member MemberName="Emit">
      <MemberSignature Language="C#" Value="public static object Emit (GLib.Object instance, string detailed_signal, object[] args);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig object Emit(class GLib.Object instance, string detailed_signal, object[] args) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="instance" Type="GLib.Object" />
        <Parameter Name="detailed_signal" Type="System.String" />
        <Parameter Name="args" Type="System.Object[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="instance">object instance.</param>
        <param name="detailed_signal">detailed signal name.</param>
        <param name="args">arguments to the signal emission.</param>
        <summary>Emits a native signal on an object.</summary>
        <returns>The return of the native emission.</returns>
        <remarks />
        <since version="Gtk# 2.12" />
      </Docs>
    </Member>
    <Member MemberName="Handler">
      <MemberSignature Language="C#" Value="public Delegate Handler { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Delegate Handler" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Delegate</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Gets the handler to invoke for a signal.</summary>
        <value>a <see cref="T:System.Delegate" /></value>
        <remarks>Only use this property within a marshaling callback.</remarks>
      </Docs>
    </Member>
    <Member MemberName="RemoveDelegate">
      <MemberSignature Language="C#" Value="public void RemoveDelegate (Delegate d);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveDelegate(class System.Delegate d) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="d" Type="System.Delegate" />
      </Parameters>
      <Docs>
        <param name="d">a <see cref="T:System.Delegate" /></param>
        <summary>Removes a delegate from the signal.</summary>
        <remarks />
      </Docs>
    </Member>
  </Members>
</Type>
