### Function

# Gio DBusProxy new

since: 2.26

#### Declaration

    void
    g_dbus_proxy_new (
      GDBusConnection* connection,
      GDBusProxyFlags flags,
      GDBusInterfaceInfo* info,
      const gchar* name,
      const gchar* object_path,
      const gchar* interface_name,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description

Creates a proxy for accessing `interface_name` on the remote object at `object_path` owned by `name` at `connection` and asynchronously loads D-Bus properties unless the `G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES` flag is used. Connect to the `GDBusProxy::g-properties-changed` signal to get notified about property changes.

If the `G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS` flag is not set, also sets up match rules for signals. Connect to the `GDBusProxy::g-signal` signal to handle signals from the remote object.

If both `G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES` and `G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS` are set, this constructor is guaranteed to complete immediately without blocking.

If `name` is a well-known name and the `G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START` and `G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION` flags aren’t set and no name owner currently exists, the message bus will be requested to launch a name owner for the name.

This is a failable asynchronous constructor - when the proxy is ready, `callback` will be invoked and you can use `g_dbus_proxy_new_finish()` to get the result.

See `g_dbus_proxy_new_sync()` and for a synchronous version of this constructor.

`GDBusProxy` is used in this [example][gdbus-wellknown-proxy].

Available since: 2.26

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

#### Parameters

`connection`

  Type: `GDBusConnection`

  A `GDBusConnection`.

  The data is owned by the caller of the function.

`flags`

  Type: `GDBusProxyFlags`

  Flags used when constructing the proxy.

`info`

  Type: `GDBusInterfaceInfo`

  A `GDBusInterfaceInfo` specifying the minimal interface that `proxy` conforms to or `NULL`.

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

`name`

  Type: `const gchar*`

  A bus name (well-known or unique) or `NULL` if `connection` is not a message bus connection.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`object_path`

  Type: `const gchar*`

  An object path.

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

`interface_name`

  Type: `const gchar*`

  A D-Bus interface name.

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

`cancellable`

  Type: `GCancellable`

  A `GCancellable` or `NULL`.

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

`callback`

  Type: `GAsyncReadyCallback`

  Callback function to invoke when the proxy is ready.

`user_data`

  Type: `gpointer`

  User data to pass to `callback`.

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