Gio.DBusConnection.close

### Method

# Gio DBusConnectionclose

since: 2.26

#### Declaration [src]

    void
    g_dbus_connection_close (
      GDBusConnection* connection,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description [src]

Closes `connection`. Note that this never causes the process to exit (this might only happen if the other end of a shared message bus connection disconnects, see `GDBusConnection:exit-on-close`).

Once the connection is closed, operations such as sending a message will return with the error `G_IO_ERROR_CLOSED`. Closing a connection will not automatically flush the connection so queued messages may be lost. Use `g_dbus_connection_flush()` if you need such guarantees.

If `connection` is already closed, this method fails with `G_IO_ERROR_CLOSED`.

When `connection` has been closed, the `GDBusConnection::closed` signal is emitted in the thread-default main context (see `g_main_context_push_thread_default()`) of the thread that `connection` was constructed in.

This is an asynchronous method. When the operation is finished, `callback` will be invoked in the thread-default main context (see `g_main_context_push_thread_default()`) of the thread you are calling this method from. You can then call `g_dbus_connection_close_finish()` to get the result of the operation. See `g_dbus_connection_close_sync()` for the synchronous version.

Available since: 2.26

This method completes asynchronously. Use `g_dbus_connection_close_finish()` inside the `GAsyncReadyCallback` to obtain the result of the operation.

#### Parameters

`cancellable`

  Type: `GCancellable`

  A `GCancellable` or `NULL`.

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

`callback`

  Type: `GAsyncReadyCallback`

  A `GAsyncReadyCallback` to call when the request is satisfied or `NULL` if you don’t care about the result.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  The data to pass to `callback`.

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