summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Karapetsas <[email protected]>2014-03-09 16:11:14 +0100
committerStefano Karapetsas <[email protected]>2014-03-09 16:11:14 +0100
commit8cb168b752f4130e88daefa400bb9bf07cf18227 (patch)
tree0403f625ab5c9bace167d49787ac2ca873d327d6
parent079471200ad1b05952ea1bef5c65979f552134b6 (diff)
parent0d07b0bbc9a76b5401bee7f0c8132af8e8d558ff (diff)
downloadmate-power-manager-8cb168b752f4130e88daefa400bb9bf07cf18227.tar.bz2
mate-power-manager-8cb168b752f4130e88daefa400bb9bf07cf18227.tar.xz
Merge pull request #60 from Firstyear/master
Add DBUS interface to kbdbacklight control
-rw-r--r--src/Makefile.am9
-rw-r--r--src/gpm-common.h1
-rw-r--r--src/gpm-kbd-backlight.c49
-rw-r--r--src/gpm-manager.c9
-rw-r--r--src/org.mate.PowerManager.KbdBacklight.xml15
5 files changed, 31 insertions, 52 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 274a45c..ddbb6ed 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)
@@ -273,6 +274,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)
@@ -298,6 +300,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 6f712cb..ef20f88 100644
--- a/src/gpm-common.h
+++ b/src/gpm-common.h
@@ -33,6 +33,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 98a64da..0ac6801 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 7561b22..6ca9dea 100644
--- a/src/gpm-manager.c
+++ b/src/gpm-manager.c
@@ -63,6 +63,7 @@
#include "gpm-disks.h"
#include "org.mate.PowerManager.Backlight.h"
+#include "org.mate.PowerManager.KbdBacklight.h"
static void gpm_manager_finalize (GObject *object);
@@ -1988,9 +1989,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>
+