[Spice-devel] [PATCH spice-gtk 4/5] Narrow dbus-glib code, to fit other implementation easily
Christophe Fergeau
cfergeau at redhat.com
Fri Feb 7 01:45:21 PST 2014
On Thu, Feb 06, 2014 at 01:55:54PM +0100, Marc-André Lureau wrote:
> From: Marc-André Lureau <marcandre.lureau at redhat.com>
>
> ---
> gtk/desktop-integration.c | 55 +++++++++++++++++++++++++----------------------
> 1 file changed, 29 insertions(+), 26 deletions(-)
>
> diff --git a/gtk/desktop-integration.c b/gtk/desktop-integration.c
> index 06712d9..064994d 100644
> --- a/gtk/desktop-integration.c
> +++ b/gtk/desktop-integration.c
> @@ -22,7 +22,7 @@
> #include "config.h"
>
> #include <glib-object.h>
> -#ifdef USE_DBUS_GLIB
> +#if defined(USE_DBUS_GLIB)
> #include <dbus/dbus-glib.h>
> #endif
>
> @@ -41,12 +41,14 @@
> (G_TYPE_INSTANCE_GET_PRIVATE ((obj), SPICE_TYPE_DESKTOP_INTEGRATION, SpiceDesktopIntegrationPrivate))
>
> struct _SpiceDesktopIntegrationPrivate {
> -#ifdef USE_DBUS_GLIB
> +#if defined(USE_DBUS_GLIB)
> DBusGProxy *gnome_session_proxy;
> - guint gnome_automount_inhibit_cookie;
> +#elif defined(USE_GDBUS)
> + GDBusProxy *gnome_session_proxy;
This bit belongs in the next patch.
> #else
> - int dummy;
> + GObject *gnome_session_proxy; /* dummy */
> #endif
> + guint gnome_automount_inhibit_cookie;
> };
>
> G_DEFINE_TYPE(SpiceDesktopIntegration, spice_desktop_integration, G_TYPE_OBJECT);
> @@ -54,27 +56,28 @@ G_DEFINE_TYPE(SpiceDesktopIntegration, spice_desktop_integration, G_TYPE_OBJECT)
> /* ------------------------------------------------------------------ */
> /* Gnome specific code */
>
> -#ifdef USE_DBUS_GLIB
> -
> static void handle_dbus_call_error(const char *call, GError **_error)
> {
> GError *error = *_error;
> const char *message = error->message;
>
> +#if defined(USE_DBUS_GLIB)
> if (error->domain == DBUS_GERROR &&
> error->code == DBUS_GERROR_REMOTE_EXCEPTION)
> message = dbus_g_error_get_name(error);
> +#endif
> g_warning("Error calling '%s': %s", call, message);
> g_clear_error(_error);
> }
>
> static gboolean gnome_integration_init(SpiceDesktopIntegration *self)
> {
> - SpiceDesktopIntegrationPrivate *priv = self->priv;
> + G_GNUC_UNUSED SpiceDesktopIntegrationPrivate *priv = self->priv;
> GError *error = NULL;
> - DBusGConnection *conn;
> + gboolean success = TRUE;
>
> - conn = dbus_g_bus_get(DBUS_BUS_SESSION, &error);
> +#if defined(USE_DBUS_GLIB)
> + DBusGConnection *conn = dbus_g_bus_get(DBUS_BUS_SESSION, &error);
> if (!conn)
> goto end;
>
> @@ -87,14 +90,18 @@ static gboolean gnome_integration_init(SpiceDesktopIntegration *self)
> "org.gnome.SessionManager",
> &error);
> end:
> +#else
> + success = FALSE;
Wondering if there should be some kind of compile-time or runtime warning
if this bit of code is reached?
ACK otherwise.
Christophe
-------------- 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/e6c3c8b9/attachment.pgp>
More information about the Spice-devel
mailing list