### Function

# Gio bus_watch_name_on_connection_with_closures

since: 2.26

#### Declaration

    guint
    g_bus_watch_name_on_connection_with_closures (
      GDBusConnection* connection,
      const gchar* name,
      GBusNameWatcherFlags flags,
      GClosure* name_appeared_closure,
      GClosure* name_vanished_closure
    )

#### Description

Version of `g_bus_watch_name_on_connection()` using closures instead of callbacks for easier binding in other languages.

Available since: 2.26

This function is renamed to `g_bus_watch_name_on_connection()` in language bindings.

#### Parameters

`connection`

  Type: `GDBusConnection`

  A `GDBusConnection`.

  The data is owned by the caller of the function.

`name`

  Type: `const gchar*`

  The name (well-known or unique) to watch.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`flags`

  Type: `GBusNameWatcherFlags`

  Flags from the `GBusNameWatcherFlags` enumeration.

`name_appeared_closure`

  Type: `GClosure`

  `GClosure` to invoke when `name` is known to exist or `NULL`.

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

`name_vanished_closure`

  Type: `GClosure`

  `GClosure` to invoke when `name` is known to not exist or `NULL`.

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

#### Return value

Type: `guint`

An identifier (never 0) that can be used with `g_bus_unwatch_name()` to stop watching the name.