[gnome-power-manager] claim org.freedesktop.Policy.Power on D-BUS



commit ca9cf6b95d88b3930439395277baa73efcc0a585
Author: Martin Pitt <martin pitt ubuntu com>
Date:   Wed Jul 22 19:19:56 2009 +0200

    claim org.freedesktop.Policy.Power on D-BUS
    
    Make gnome-power-manager claim org.freedesktop.Policy.Power on the D-Bus system
    bus on startup. This ensures that gnome-power-manager, kpowersave and
    powersaved are not stepping on each other's toes and only one program is acting
    on power management events.

 src/gpm-main.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/src/gpm-main.c b/src/gpm-main.c
index 8885f73..98259bd 100644
--- a/src/gpm-main.c
+++ b/src/gpm-main.c
@@ -164,6 +164,7 @@ main (int argc, char *argv[])
 	GpmManager *manager = NULL;
 	GError *error = NULL;
 	GOptionContext *context;
+	gint ret;
 
 	const GOptionEntry options[] = {
 		{ "verbose", '\0', 0, G_OPTION_ARG_NONE, &verbose,
@@ -250,6 +251,20 @@ main (int argc, char *argv[])
 		return 0;
 	}
 
+	ret = dbus_bus_request_name(dbus_g_connection_get_connection(system_connection),
+				    "org.freedesktop.Policy.Power",
+				    DBUS_NAME_FLAG_REPLACE_EXISTING, NULL);
+	switch (ret) {
+	case DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER:
+		egg_debug ("Successfully acquired interface org.freedesktop.Policy.Power.");
+		break;
+	case DBUS_REQUEST_NAME_REPLY_IN_QUEUE:
+		egg_debug ("Queued for interface org.freedesktop.Policy.Power.");
+		break;
+	default:
+		break;
+	};
+
 	/* Only timeout and close the mainloop if we have specified it
 	 * on the command line */
 	if (timed_exit) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]