[Spice-devel] [PATCH spice-gtk 5/5] Add GDBus version of dbus-glib code
Christophe Fergeau
cfergeau at redhat.com
Fri Feb 7 01:47:13 PST 2014
ACK
Christophe
On Thu, Feb 06, 2014 at 01:55:55PM +0100, Marc-André Lureau wrote:
> From: Marc-André Lureau <marcandre.lureau at redhat.com>
>
> ---
> gtk/desktop-integration.c | 34 +++++++++++++++++++++++++++++++++-
> 1 file changed, 33 insertions(+), 1 deletion(-)
>
> diff --git a/gtk/desktop-integration.c b/gtk/desktop-integration.c
> index 064994d..d764e56 100644
> --- a/gtk/desktop-integration.c
> +++ b/gtk/desktop-integration.c
> @@ -90,6 +90,16 @@ static gboolean gnome_integration_init(SpiceDesktopIntegration *self)
> "org.gnome.SessionManager",
> &error);
> end:
> +#elif defined(USE_GDBUS)
> + priv->gnome_session_proxy =
> + g_dbus_proxy_new_for_bus_sync(G_BUS_TYPE_SESSION,
> + G_DBUS_PROXY_FLAGS_NONE,
> + NULL,
> + "org.gnome.SessionManager",
> + "/org/gnome/SessionManager",
> + "org.gnome.SessionManager",
> + NULL,
> + &error);
> #else
> success = FALSE;
> #endif
> @@ -108,6 +118,8 @@ static void gnome_integration_inhibit_automount(SpiceDesktopIntegration *self)
> {
> SpiceDesktopIntegrationPrivate *priv = self->priv;
> GError *error = NULL;
> + G_GNUC_UNUSED const gchar *reason =
> + _("Automounting has been inhibited for USB auto-redirecting");
>
> if (!priv->gnome_session_proxy)
> return;
> @@ -120,11 +132,24 @@ static void gnome_integration_inhibit_automount(SpiceDesktopIntegration *self)
> G_TYPE_STRING, g_get_prgname(),
> G_TYPE_UINT, 0,
> G_TYPE_STRING,
> - _("Automounting has been inhibited for USB auto-redirecting"),
> + reason,
> G_TYPE_UINT, GNOME_SESSION_INHIBIT_AUTOMOUNT,
> G_TYPE_INVALID,
> G_TYPE_UINT, &priv->gnome_automount_inhibit_cookie,
> G_TYPE_INVALID);
> +#elif defined(USE_GDBUS)
> + GVariant *v = g_dbus_proxy_call_sync(priv->gnome_session_proxy,
> + "Inhibit",
> + g_variant_new("(susu)",
> + g_get_prgname(),
> + 0,
> + reason,
> + GNOME_SESSION_INHIBIT_AUTOMOUNT),
> + G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
> + if (v)
> + g_variant_get(v, "(u)", &priv->gnome_automount_inhibit_cookie);
> +
> + g_clear_pointer(&v, g_variant_unref);
> #endif
> if (error)
> handle_dbus_call_error("org.gnome.SessionManager.Inhibit", &error);
> @@ -148,6 +173,13 @@ static void gnome_integration_uninhibit_automount(SpiceDesktopIntegration *self)
> G_TYPE_UINT, priv->gnome_automount_inhibit_cookie,
> G_TYPE_INVALID,
> G_TYPE_INVALID);
> +#elif defined(USE_GDBUS)
> + GVariant *v = g_dbus_proxy_call_sync(priv->gnome_session_proxy,
> + "Uninhibit",
> + g_variant_new("(u)",
> + priv->gnome_automount_inhibit_cookie),
> + G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
> + g_clear_pointer(&v, g_variant_unref);
> #endif
> if (error)
> handle_dbus_call_error("org.gnome.SessionManager.Uninhibit", &error);
> --
> 1.8.4.2
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20140207/87f5076a/attachment.pgp>
More information about the Spice-devel
mailing list