diff options
author | William Brown <[email protected]> | 2013-06-27 10:17:08 +0930 |
---|---|---|
committer | William Brown <[email protected]> | 2013-06-27 10:17:08 +0930 |
commit | 0d07b0bbc9a76b5401bee7f0c8132af8e8d558ff (patch) | |
tree | 730860e4f9b26d517a67ff31d2fe454f4886b1d4 | |
parent | 4d842135ce677957aee8bd5bb47f875b0ece570a (diff) | |
download | mate-power-manager-0d07b0bbc9a76b5401bee7f0c8132af8e8d558ff.tar.bz2 mate-power-manager-0d07b0bbc9a76b5401bee7f0c8132af8e8d558ff.tar.xz |
RHBZ #964678 : Patch that provides DBUS interface to control KbdBacklight.
-rw-r--r-- | src/Makefile.am | 9 | ||||
-rw-r--r-- | src/gpm-common.h | 1 | ||||
-rw-r--r-- | src/gpm-kbd-backlight.c | 49 | ||||
-rw-r--r-- | src/gpm-manager.c | 9 | ||||
-rw-r--r-- | src/org.mate.PowerManager.KbdBacklight.xml | 15 |
5 files changed, 31 insertions, 52 deletions
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 = "" -"<?xml version=\"1.0\" encoding=\"UTF-8\"?>""<node name=\"/\">" - "<interface name=\"org.mate.PowerManager.Backlight\">" - "<method name=\"GetBrightness\">" - "<arg type=\"u\" name=\"percentage_brightness\" direction=\"out\"/>" - "</method>" - "<method name=\"SetBrightness\">" - "<arg type=\"u\" name=\"percentage_brightness\" direction=\"in\"/>" - "</method>" - "<signal name=\"BrightnessChanged\">" - "<arg type=\"u\" name=\"percentage_brightness\" direction=\"out\"/>" - "</signal>" - "</interface>" -"</node>"; - #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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<node name="/"> + <interface name="org.mate.PowerManager.KbdBacklight"> + <method name="GetBrightness"> + <arg type="u" name="percentage_brightness" direction="out"/> + </method> + <method name="SetBrightness"> + <arg type="u" name="percentage_brightness" direction="in"/> + </method> + <signal name="BrightnessChanged"> + <arg type="u" name="percentage_brightness" direction="out"/> + </signal> + </interface> +</node> + |