From 0d07b0bbc9a76b5401bee7f0c8132af8e8d558ff Mon Sep 17 00:00:00 2001 From: William Brown Date: Thu, 27 Jun 2013 10:17:08 +0930 Subject: RHBZ #964678 : Patch that provides DBUS interface to control KbdBacklight. --- src/Makefile.am | 9 ++++++ src/gpm-common.h | 1 + src/gpm-kbd-backlight.c | 49 ------------------------------ src/gpm-manager.c | 9 ++++-- src/org.mate.PowerManager.KbdBacklight.xml | 15 +++++++++ 5 files changed, 31 insertions(+), 52 deletions(-) create mode 100644 src/org.mate.PowerManager.KbdBacklight.xml diff --git a/src/Makefile.am b/src/Makefile.am index 5fda8ee..e518903 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,6 +6,7 @@ NULL = EXTRA_DIST = \ org.mate.PowerManager.xml \ org.mate.PowerManager.Backlight.xml \ + org.mate.PowerManager.KbdBacklight.xml \ gpm-marshal.list \ $(NULL) @@ -271,6 +272,7 @@ endif BUILT_SOURCES = \ org.mate.PowerManager.h \ org.mate.PowerManager.Backlight.h \ + org.mate.PowerManager.KbdBacklight.h \ gpm-marshal.c \ gpm-marshal.h \ $(NULL) @@ -296,6 +298,13 @@ org.mate.PowerManager.Backlight.h: org.mate.PowerManager.Backlight.xml --output=org.mate.PowerManager.Backlight.h \ $(srcdir)/org.mate.PowerManager.Backlight.xml +org.mate.PowerManager.KbdBacklight.h: org.mate.PowerManager.KbdBacklight.xml + libtool --mode=execute dbus-binding-tool \ + --prefix=gpm_kbd_backlight \ + --mode=glib-server \ + --output=org.mate.PowerManager.KbdBacklight.h \ + $(srcdir)/org.mate.PowerManager.KbdBacklight.xml + clean-local: rm -f *~ rm -f gpm-marshal.c gpm-marshal.h diff --git a/src/gpm-common.h b/src/gpm-common.h index ca4762c..1c83268 100644 --- a/src/gpm-common.h +++ b/src/gpm-common.h @@ -29,6 +29,7 @@ G_BEGIN_DECLS #define GPM_DBUS_SERVICE "org.mate.PowerManager" #define GPM_DBUS_INTERFACE "org.mate.PowerManager" #define GPM_DBUS_INTERFACE_BACKLIGHT "org.mate.PowerManager.Backlight" +#define GPM_DBUS_INTERFACE_KBD_BACKLIGHT "org.mate.PowerManager.KbdBacklight" #define GPM_DBUS_PATH "/org/mate/PowerManager" #define GPM_DBUS_PATH_BACKLIGHT "/org/mate/PowerManager/Backlight" #define GPM_DBUS_PATH_KBD_BACKLIGHT "/org/mate/PowerManager/KbdBacklight" diff --git a/src/gpm-kbd-backlight.c b/src/gpm-kbd-backlight.c index 72c4f96..5bb8ae2 100644 --- a/src/gpm-kbd-backlight.c +++ b/src/gpm-kbd-backlight.c @@ -31,21 +31,6 @@ #include "gpm-kbd-backlight.h" #include "gsd-media-keys-window.h" -static const gchar *kbd_backlight_introspection = "" -"""" - "" - "" - "" - "" - "" - "" - "" - "" - "" - "" - "" -""; - #define GPM_KBD_BACKLIGHT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GPM_TYPE_KBD_BACKLIGHT, GpmKbdBacklightPrivate)) struct GpmKbdBacklightPrivate @@ -430,40 +415,6 @@ gpm_kbd_backlight_dbus_property_set (GDBusConnection *connection, return FALSE; } -/** - * gpm_kbd_backlight_register_dbus: - * @backlight: - * @connection: - * @error: - **/ -void -gpm_kbd_backlight_register_dbus (GpmKbdBacklight *backlight, - GDBusConnection *connection, - GError **error) -{ - GDBusNodeInfo *node_info; - GDBusInterfaceInfo *interface_info; - GDBusInterfaceVTable interface_vtable = { - gpm_kbd_backlight_dbus_method_call, - gpm_kbd_backlight_dbus_property_get, - gpm_kbd_backlight_dbus_property_set - }; - - node_info = g_dbus_node_info_new_for_xml (kbd_backlight_introspection, NULL); - interface_info = g_dbus_node_info_lookup_interface (node_info, GPM_DBUS_INTERFACE_BACKLIGHT); - - backlight->priv->bus_connection = g_object_ref (connection); - backlight->priv->bus_object_id = - g_dbus_connection_register_object (connection, - GPM_DBUS_PATH_KBD_BACKLIGHT, - interface_info, - &interface_vtable, - backlight, - NULL, - error); - g_dbus_node_info_unref (node_info); -} - static gboolean gpm_kbd_backlight_evaluate_power_source_and_set (GpmKbdBacklight *backlight) { diff --git a/src/gpm-manager.c b/src/gpm-manager.c index 9b697b5..6f403a9 100644 --- a/src/gpm-manager.c +++ b/src/gpm-manager.c @@ -65,6 +65,7 @@ #include "gpm-disks.h" #include "org.mate.PowerManager.Backlight.h" +#include "org.mate.PowerManager.KbdBacklight.h" static void gpm_manager_finalize (GObject *object); @@ -1997,9 +1998,11 @@ gpm_manager_init (GpmManager *manager) manager->priv->kbd_backlight = gpm_kbd_backlight_new (); if (manager->priv->kbd_backlight != NULL) { - gpm_kbd_backlight_register_dbus (manager->priv->kbd_backlight, - g_connection, - NULL); + dbus_g_object_type_install_info (GPM_TYPE_KBD_BACKLIGHT, + &dbus_glib_gpm_kbd_backlight_object_info); + dbus_g_connection_register_g_object (connection, GPM_DBUS_PATH_KBD_BACKLIGHT, + G_OBJECT (manager->priv->kbd_backlight)); + } manager->priv->idle = gpm_idle_new (); diff --git a/src/org.mate.PowerManager.KbdBacklight.xml b/src/org.mate.PowerManager.KbdBacklight.xml new file mode 100644 index 0000000..82b7cb2 --- /dev/null +++ b/src/org.mate.PowerManager.KbdBacklight.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + -- cgit v1.2.1