### Function

# GObject SignalEmissionHook

since: 2.0

#### Declaration

    gboolean
    (* GSignalEmissionHook) (
      GSignalInvocationHint* ihint,
      guint n_param_values,
      const GValue* param_values,
      gpointer data
    )

#### Description

A simple function pointer to get invoked when the signal is emitted.

Emission hooks allow you to tie a hook to the signal type, so that it will trap all emissions of that signal, from any object.

You may not attach these to signals created with the `G_SIGNAL_NO_HOOKS` flag.

Available since: 2.0

#### Parameters

`ihint`

  Type: `GSignalInvocationHint`

  Signal invocation hint, see `GSignalInvocationHint`.

  The data is owned by the caller of the function.

`n_param_values`

  Type: `guint`

  The number of parameters to the function, including the instance on which the signal was emitted.

`param_values`

  Type: An array of `GValue`

  The instance on which the signal was emitted, followed by the parameters of the emission.

  The length of the array is specified in the `n_param_values` argument.
  The data is owned by the caller of the function.

`data`

  Type: `gpointer`

  User data associated with the hook.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

#### Return value

Type: `gboolean`

Whether it wants to stay connected. If it returns `FALSE`, the signal hook is disconnected (and destroyed).