ACK Christophe On Thu, Feb 06, 2014 at 01:55:55PM +0100, Marc-André Lureau wrote: > From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> > > --- > 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@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
pgpvTMOfP6Y5N.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel