[Goodies-commits] r6966 - in xfce4-power-manager/trunk: . src
Ali Abdallah
aliov at xfce.org
Sat Mar 21 00:02:38 CET 2009
Author: aliov
Date: 2009-03-20 23:02:37 +0000 (Fri, 20 Mar 2009)
New Revision: 6966
Modified:
xfce4-power-manager/trunk/ChangeLog
xfce4-power-manager/trunk/src/org.xfce.Power.Manager.xml
xfce4-power-manager/trunk/src/xfpm-main.c
xfce4-power-manager/trunk/src/xfpm-manager.c
Log:
Added command line option to restart the power manager
Modified: xfce4-power-manager/trunk/ChangeLog
===================================================================
--- xfce4-power-manager/trunk/ChangeLog 2009-03-20 18:43:08 UTC (rev 6965)
+++ xfce4-power-manager/trunk/ChangeLog 2009-03-20 23:02:37 UTC (rev 6966)
@@ -1,4 +1,7 @@
+2009-03-21 0:02 Ali aliov at xfce.org
+ * : Added command line option to restart the power manager
+
2009-03-20 17:16 Ali aliov at xfce.org
* : -m
Modified: xfce4-power-manager/trunk/src/org.xfce.Power.Manager.xml
===================================================================
--- xfce4-power-manager/trunk/src/org.xfce.Power.Manager.xml 2009-03-20 18:43:08 UTC (rev 6965)
+++ xfce4-power-manager/trunk/src/org.xfce.Power.Manager.xml 2009-03-20 23:02:37 UTC (rev 6966)
@@ -10,6 +10,9 @@
<method name="Quit">
</method>
+ <method name="Restart">
+ </method>
+
<method name="GetConfig">
<arg direction="out" name="system_laptop" type="b"/>
<arg direction="out" name="user_privilege" type="b"/>
Modified: xfce4-power-manager/trunk/src/xfpm-main.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-main.c 2009-03-20 18:43:08 UTC (rev 6965)
+++ xfce4-power-manager/trunk/src/xfpm-main.c 2009-03-20 23:02:37 UTC (rev 6966)
@@ -54,26 +54,30 @@
int main(int argc, char **argv)
{
+ DBusGConnection *bus;
+ GError *error = NULL;
+ DBusGProxy *proxy;
+
+ gboolean run = FALSE;
+ gboolean quit = FALSE;
+ gboolean config = FALSE;
+ gboolean version = FALSE;
+ gboolean no_daemon = FALSE;
+ gboolean reload = FALSE;
+
xfce_textdomain (GETTEXT_PACKAGE, LOCALEDIR, "UTF-8");
- gboolean run = FALSE;
- gboolean quit = FALSE;
- gboolean config = FALSE;
- gboolean version = FALSE;
- gboolean no_daemon = FALSE;
-
GOptionEntry option_entries[] =
{
{ "run",'r', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, &run, NULL, NULL },
{ "no-daemon",'\0' , G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &no_daemon, N_("Do not daemonize"), NULL },
+ { "restart", '\0', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &reload, N_("Restart the running instance of xfce power manager"), NULL},
{ "customize", 'c', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &config, N_("Show the configuration dialog"), NULL },
{ "quit", 'q', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &quit, N_("Quit any running xfce power manager"), NULL },
{ "version", 'V', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &version, N_("Version information"), NULL },
{ NULL, },
};
- GError *error = NULL;
-
if(!gtk_init_with_args(&argc, &argv, "", option_entries, PACKAGE, &error))
{
if(G_LIKELY(error))
@@ -111,7 +115,6 @@
g_critical ("Could not daemonize");
}
- DBusGConnection *bus;
bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error);
if ( error )
@@ -141,11 +144,10 @@
}
else
{
- GError *error = NULL;
- DBusGProxy *proxy = dbus_g_proxy_new_for_name(bus,
- "org.xfce.PowerManager",
- "/org/xfce/PowerManager",
- "org.xfce.Power.Manager");
+ proxy = dbus_g_proxy_new_for_name(bus,
+ "org.xfce.PowerManager",
+ "/org/xfce/PowerManager",
+ "org.xfce.Power.Manager");
if ( !proxy )
{
g_critical ("Failed to get proxy");
@@ -166,16 +168,49 @@
if ( config )
{
- if (!xfpm_dbus_name_has_owner(dbus_g_connection_get_connection(bus),
- "org.xfce.PowerManager"))
+ g_spawn_command_line_async ("xfce4-power-manager-settings", &error);
+
+ if ( error )
{
- g_print (_("Xfce power manager is not running"));
- g_print ("\n");
- /* FIXME: dialog to run */
+ g_critical ("Failed to execute xfce4-power-manager-settings: %s", error->message);
+ g_error_free (error);
+ return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
+ if ( reload )
+ {
+ if (!xfpm_dbus_name_has_owner(dbus_g_connection_get_connection (bus),
+ "org.xfce.PowerManager") )
+ {
+ xfpm_info (_("Xfce Power Manager"),
+ _("Xfce power manager is not running to releod it"));
+
+
+ return EXIT_FAILURE;
+ }
+ proxy = dbus_g_proxy_new_for_name(bus,
+ "org.xfce.PowerManager",
+ "/org/xfce/PowerManager",
+ "org.xfce.Power.Manager");
+ if ( !proxy )
+ {
+ g_critical ("Failed to get proxy");
+ dbus_g_connection_unref(bus);
+ return EXIT_FAILURE;
+ }
+
+ if ( !xfpm_manager_dbus_client_restart (proxy, NULL) )
+ {
+ g_critical ("Unable to send reload message");
+ g_object_unref (proxy);
+ dbus_g_connection_unref (bus);
+ return EXIT_SUCCESS;
+ }
+ return EXIT_SUCCESS;
+ }
+
if (xfpm_dbus_name_has_owner (dbus_g_connection_get_connection(bus), "org.freedesktop.PowerManagement") )
{
Modified: xfce4-power-manager/trunk/src/xfpm-manager.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-manager.c 2009-03-20 18:43:08 UTC (rev 6965)
+++ xfce4-power-manager/trunk/src/xfpm-manager.c 2009-03-20 23:02:37 UTC (rev 6966)
@@ -173,7 +173,10 @@
*/
static gboolean xfpm_manager_dbus_quit (XfpmManager *manager,
GError **error);
-
+
+static gboolean xfpm_manager_dbus_restart (XfpmManager *manager,
+ GError **error);
+
static gboolean xfpm_manager_dbus_get_config (XfpmManager *manager,
gboolean *OUT_system_laptop,
gboolean *OUT_user_privilege,
@@ -216,6 +219,16 @@
return TRUE;
}
+static gboolean xfpm_manager_dbus_restart (XfpmManager *manager,
+ GError **error)
+{
+ TRACE("Restart message received");
+ g_object_unref (manager->priv->engine);
+ manager->priv->engine = xfpm_engine_new ();
+
+ return TRUE;
+}
+
static gboolean xfpm_manager_dbus_get_config (XfpmManager *manager,
gboolean *OUT_system_laptop,
gboolean *OUT_user_privilege,
More information about the Goodies-commits
mailing list