[Goodies-commits] r5551 - xfce4-power-manager/trunk/src

Ali Abdallah aliov at xfce.org
Fri Oct 10 08:26:49 CEST 2008


Author: aliov
Date: 2008-10-10 06:26:49 +0000 (Fri, 10 Oct 2008)
New Revision: 5551

Modified:
   xfce4-power-manager/trunk/src/xfpm-hal.c
   xfce4-power-manager/trunk/src/xfpm-hal.h
Log:
Added Set/GetBrightness methods

Modified: xfce4-power-manager/trunk/src/xfpm-hal.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-hal.c	2008-10-10 05:48:02 UTC (rev 5550)
+++ xfce4-power-manager/trunk/src/xfpm-hal.c	2008-10-10 06:26:49 UTC (rev 5551)
@@ -660,21 +660,100 @@
 
 gboolean
 xfpm_hal_set_brightness (XfpmHal *xfpm_hal,
-                         gint level)
+                         const gchar *interface,
+                         gint32 level,
+                         GError **gerror)
                                                             
 {
     g_return_val_if_fail(XFPM_IS_HAL(xfpm_hal),FALSE);
     
+    XfpmHalPrivate *priv;
+    priv = XFPM_HAL_GET_PRIVATE(xfpm_hal);
+    
+    DBusMessage *mess,*reply;
+	DBusError error;
+
+	mess = xfpm_dbus_new_message(HAL_DBUS_SERVICE,
+                                 interface,
+                                 HAL_DBUS_INTERFACE_LCD,
+                                 "SetBrightness");
+	if (!mess) 
+	{
+	    g_set_error(gerror,0,0,_("Out of memmory"));
+		return FALSE;
+	}	
+    
+    dbus_message_append_args(mess,DBUS_TYPE_INT32,&level,DBUS_TYPE_INVALID);
+        
+    dbus_error_init(&error);
+    
+    reply = dbus_connection_send_with_reply_and_block(priv->connection,mess,-1,&error);
+    
+    if ( dbus_error_is_set(&error) )
+    {
+         dbus_set_g_error(gerror,&error);
+         dbus_error_free(&error);
+         dbus_message_unref(mess);
+         return FALSE;
+    }
+        
+    if ( !reply ) 
+    {
+        g_set_error(gerror,0,0,_("No reply from HAL daemon"));
+        dbus_message_unref(mess);
+        return FALSE;
+    }
+    
+    dbus_message_unref(reply);
     return TRUE;
 }
 
-gint
-xfpm_hal_get_brightness (XfpmHal *xfpm_hal)
+gint32
+xfpm_hal_get_brightness (XfpmHal *xfpm_hal,
+                        const gchar *interface,
+                        GError **gerror)
 {
-    g_return_val_if_fail(XFPM_IS_HAL(xfpm_hal),0);
+    g_return_val_if_fail(XFPM_IS_HAL(xfpm_hal),-1);
+    XfpmHalPrivate *priv;
+    priv = XFPM_HAL_GET_PRIVATE(xfpm_hal);
     
+    DBusMessage *mess,*reply;
+	DBusError error;
+	gint32 brightness_level;
+
+	mess = xfpm_dbus_new_message(HAL_DBUS_SERVICE,
+                                 interface,
+                                 HAL_DBUS_INTERFACE_LCD,
+                                 "GetBrightness");
+	if (!mess) 
+	{
+	    g_set_error(gerror,0,0,_("Out of memmory"));
+		return -1;
+	}	
     
-    return 1;
+    dbus_error_init(&error);
+    
+    reply = dbus_connection_send_with_reply_and_block(priv->connection,mess,-1,&error);
+    
+    if ( dbus_error_is_set(&error) )
+    {
+         dbus_set_g_error(gerror,&error);
+         dbus_error_free(&error);
+         dbus_message_unref(mess);
+         return -1;
+    }
+        
+    if ( !reply ) 
+    {
+        g_set_error(gerror,0,0,_("No reply from HAL daemon"));
+        dbus_message_unref(mess);
+        return -1;
+    }
+    
+    dbus_message_get_args(reply,NULL,DBUS_TYPE_INT32,&brightness_level);
+    dbus_message_unref(reply);
+    
+    return brightness_level;
 }
 
 gchar               
@@ -709,6 +788,7 @@
                               DBUS_TYPE_ARRAY,DBUS_TYPE_STRING,
                               &govs,&dummy,
                               DBUS_TYPE_INVALID,DBUS_TYPE_INVALID);
+        dbus_message_unref(reply);                      
         return govs;
     }
     
@@ -744,6 +824,7 @@
     {
         dbus_message_get_args(reply,NULL,DBUS_TYPE_STRING,&gov,DBUS_TYPE_INVALID);
         XFPM_DEBUG("Got governor %s\n",gov);
+        dbus_message_unref(reply);
         return gov;
     }
     return NULL;

Modified: xfce4-power-manager/trunk/src/xfpm-hal.h
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-hal.h	2008-10-10 05:48:02 UTC (rev 5550)
+++ xfce4-power-manager/trunk/src/xfpm-hal.h	2008-10-10 06:26:49 UTC (rev 5551)
@@ -30,6 +30,7 @@
 #define HAL_ROOT_COMPUTER	         "/org/freedesktop/Hal/devices/computer"
 #define	HAL_DBUS_INTERFACE_POWER	 "org.freedesktop.Hal.Device.SystemPowerManagement"
 #define HAL_DBUS_INTERFACE_CPU       "org.freedesktop.Hal.Device.CPUFreq"
+#define HAL_DBUS_INTERFACE_LCD       "org.freedesktop.Hal.Device.LaptopPanel"
 
 #define SLEEP_TIMEOUT -1
 
@@ -116,8 +117,12 @@
                                                             GError **gerror,
                                                             guint8 *critical);
 gboolean             xfpm_hal_set_brightness               (XfpmHal *xfpm_hal,
-                                                            gint level);
-gint                 xfpm_hal_get_brightness               (XfpmHal *xfpm_hal);                                                            
+                                                            const gchar *interface,
+                                                            gint level32,
+                                                            GError **gerror);
+gint32               xfpm_hal_get_brightness               (XfpmHal *xfpm_hal,
+                                                            const gchar *interface,
+                                                            GError **gerror);                                                            
 
 gchar              **xfpm_hal_get_available_cpu_governors  (XfpmHal *xfpm_hal);
 gchar               *xfpm_hal_get_current_cpu_governor     (XfpmHal *xfpm_hal);




More information about the Goodies-commits mailing list