### Constructor

# Gio DBusProxy new_sync

since: 2.26

#### Declaration

    GDBusProxy*
    g_dbus_proxy_new_sync (
      GDBusConnection* connection,
      GDBusProxyFlags flags,
      GDBusInterfaceInfo* info,
      const gchar* name,
      const gchar* object_path,
      const gchar* interface_name,
      GCancellable* cancellable,
      GError** error
    )

#### Description

Creates a proxy for accessing `interface_name` on the remote object at `object_path` owned by `name` at `connection` and synchronously loads D-Bus properties unless the `G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES` flag is used.

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 return 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 synchronous failable constructor. See `g_dbus_proxy_new()` and `g_dbus_proxy_new_finish()` for the asynchronous version.

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

Available since: 2.26

#### 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.

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the constructor if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.

#### Return value

Type: `GDBusProxy`

A `GDBusProxy` or `NULL` if error is set. Free with g_object_unref().

The caller of the function takes ownership of the data, and is responsible for freeing it.