-int _bt_disconnect_all(char *address)
-{
- int ret = BLUETOOTH_ERROR_NONE;
- char *object_path;
- GDBusProxy *proxy;
- GDBusConnection *conn;
- GVariant *result = NULL;
- GError *err = NULL;
-
- BT_DBG("");
- conn = _bt_gdbus_get_system_gconn();
- retv_if(conn == NULL, BLUETOOTH_ERROR_INTERNAL);
-
- object_path = _bt_get_device_object_path(address);
- retv_if(object_path == NULL, BLUETOOTH_ERROR_INTERNAL);
-
- proxy = g_dbus_proxy_new_sync(conn, G_DBUS_PROXY_FLAGS_NONE,
- NULL, BT_BLUEZ_NAME,
- object_path, BT_DEVICE_INTERFACE, NULL, NULL);
- g_free(object_path);
- retv_if(proxy == NULL, BLUETOOTH_ERROR_INTERNAL);
-
- result = g_dbus_proxy_call_sync(proxy, "Disconnect",
- NULL,
- G_DBUS_CALL_FLAGS_NONE,
- -1, NULL,
- &err);
-
- if (err != NULL) {
- BT_ERR("Dbus Call Error:[%s]", err->message);
- g_error_free(err);
- ret = BLUETOOTH_ERROR_INTERNAL;
- }
-
- g_object_unref(proxy);
- if (result)
- g_variant_unref(result);
-
- return ret;
-}
-