This email list is read-only.  Emails sent to this list will be discarded
----------------------------------
 ChangeLog                                          |   10 +
 Makefile.am                                        |    2 +-
 configure.in                                       |   16 +-
 moblin-system-daemon/Makefile.am                   |   22 +
 moblin-system-daemon/lcdbacklight/Makefile.am      |   14 +
 moblin-system-daemon/lcdbacklight/lcdbacklight.c   |  286 ++++++++
 moblin-system-daemon/lcdbacklight/lcdbacklight.h   |   52 ++
 moblin-system-daemon/lcdbacklight/lcdbacklight.xml |    9 +
 moblin-system-daemon/moblin-system-dbus.c          |   15 +-
 moblin-system-daemon/moblin-system-tool.c          |  315 ++++++++
 moblin-system-daemon/sound/Makefile.am             |   14 +
 moblin-system-daemon/sound/sound.c                 |  760 ++++++++++++++++++++
 moblin-system-daemon/sound/sound.h                 |  191 +++++
 moblin-system-daemon/sound/sound.xml               |   70 ++
 moblin-user-daemon/Makefile.am                     |   88 ---
 moblin-user-daemon/dbus-footer.xml                 |    2 -
 moblin-user-daemon/dbus-header.xml                 |    5 -
 moblin-user-daemon/lcdbacklight/Makefile.am        |   14 -
 moblin-user-daemon/lcdbacklight/lcdbacklight.c     |  288 --------
 moblin-user-daemon/lcdbacklight/lcdbacklight.h     |   52 --
 moblin-user-daemon/lcdbacklight/lcdbacklight.xml   |    9 -
 moblin-user-daemon/moblin-user-daemon.c            |   78 --
 moblin-user-daemon/moblin-user-daemon.conf         |   12 -
 moblin-user-daemon/moblin-user-daemon.h            |   33 -
 moblin-user-daemon/moblin-user-daemon.pc.in        |   11 -
 moblin-user-daemon/moblin-user-dbus.c              |  135 ----
 moblin-user-daemon/moblin-user-dbus.h              |   71 --
 moblin-user-daemon/moblin-user-marshal.list        |    1 -
 moblin-user-daemon/moblin-user-tool.c              |  398 ----------
 .../org.moblin.UserDaemon.service.in               |    3 -
 moblin-user-daemon/sound/Makefile.am               |   14 -
 moblin-user-daemon/sound/sound.c                   |  760 --------------------
 moblin-user-daemon/sound/sound.h                   |  191 -----
 moblin-user-daemon/sound/sound.xml                 |   70 --
 scripts/install.sh                                 |   86 ++-
 scripts/moblin-kernel-modules                      |   16 +
 scripts/moblin-system-daemon                       |   17 +
 scripts/uninstall.sh                               |   92 ++-
 38 files changed, 1919 insertions(+), 2303 deletions(-)

New commits:
commit c90ba99b5bd774d01bbba7944a6913fb1264a8e8
Author: Todd Brandt <[EMAIL PROTECTED]>
Date:   Mon Aug 4 21:44:39 2008 -0700

    new version 2.10 with single daemon


Diff in this email is a maximum of 400 lines.
diff --git a/ChangeLog b/ChangeLog
index 938bbf7..dbad335 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+moblin-settings (2.10)
+
+  * Merged everything into moblin-system-daemon from moblin-user-daemon
+  * upgraded the install.sh and uninstall.sh scripts to be able to install
+    the moblin-system-daemon and moblin-kernel-modules services on debian,
+    redhat, and unknown machines. Debian uses update-rc.d, Redhat uses
+    chkconfig, and unknown systems are done manually.
+
+ -- Todd Brandt <[EMAIL PROTECTED]>  Mon Aug  4 21:41:34 PDT 2008
+
 moblin-settings (2.09)
 
   * Rewrote get_time, set_time, get_timezone, and set_timezone functions.  
Added 
diff --git a/Makefile.am b/Makefile.am
index 17f6ca7..14d9bbb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = scripts moblin-system-daemon moblin-user-daemon
+SUBDIRS = scripts moblin-system-daemon
 
 ACLOCAL_AMFLAGS = -I m4
 
diff --git a/configure.in b/configure.in
index b164422..c36b1c4 100644
--- a/configure.in
+++ b/configure.in
@@ -19,6 +19,7 @@ AC_STDC_HEADERS
 AM_PROG_LIBTOOL
 AC_LANG_CPLUSPLUS
 AC_LANG_COMPILER_REQUIRE
+CFLAGS="$CFLAGS -Werror"
 if test "x${use_debug}" = "xyes"
 then
        CFLAGS="$CFLAGS -ggdb -O0 -DDEBUG"
@@ -104,15 +105,6 @@ AC_SUBST(COMMON_CFLAGS)
 AC_SUBST(COMMON_LIBS)
 
 #########################################
-# Moblin User Daemon flags and libs #
-#########################################
-
-MOBLIN_USER_DAEMON_CFLAGS="${COMMON_CFLAGS}"
-MOBLIN_USER_DAEMON_LIBS="${COMMON_LIBS}"
-AC_SUBST(MOBLIN_USER_DAEMON_CFLAGS)
-AC_SUBST(MOBLIN_USER_DAEMON_LIBS)
-
-#########################################
 # Moblin System Daemon flags and libs #
 #########################################
 
@@ -179,7 +171,7 @@ if test "$enable_lcdbacklight" = "yes"; then
        PKG_CHECK_MODULES(LCDBACKLIGHT, hal >= 0.5.8)
        AC_SUBST(LCDBACKLIGHT_CFLAGS)
        AC_SUBST(LCDBACKLIGHT_LIBS)
-       AC_CONFIG_FILES([moblin-user-daemon/lcdbacklight/Makefile])
+       AC_CONFIG_FILES([moblin-system-daemon/lcdbacklight/Makefile])
 fi
 
 ################
@@ -195,7 +187,7 @@ if test "$enable_sound" = "yes"; then
        PKG_CHECK_MODULES(SOUND, alsa >= 0.9.0)
        AC_SUBST(SOUND_CFLAGS)
        AC_SUBST(SOUND_LIBS)
-       AC_CONFIG_FILES([moblin-user-daemon/sound/Makefile])
+       AC_CONFIG_FILES([moblin-system-daemon/sound/Makefile])
 fi
 
 ##############################
@@ -204,8 +196,6 @@ fi
 
 AC_CONFIG_FILES([
 Makefile
-moblin-user-daemon/Makefile
-moblin-user-daemon/moblin-user-daemon.pc
 moblin-system-daemon/Makefile
 moblin-system-daemon/moblin-system-daemon.pc
 scripts/Makefile
diff --git a/moblin-system-daemon/Makefile.am b/moblin-system-daemon/Makefile.am
index 3b59a74..7c4ad8f 100644
--- a/moblin-system-daemon/Makefile.am
+++ b/moblin-system-daemon/Makefile.am
@@ -51,6 +51,28 @@ dbus_xmlfiles += \
        battery/battery.xml
 endif
 
+if HAVE_LCDBACKLIGHT
+SUBDIRS += lcdbacklight
+DIST_SUBDIRS += lcdbacklight
+INCLUDES += \
+        -Ilcdbacklight
+moblin_system_daemon_LDADD += \
+        lcdbacklight/liblcdbacklight.la
+dbus_xmlfiles += \
+        lcdbacklight/lcdbacklight.xml
+endif
+
+if HAVE_SOUND
+SUBDIRS += sound
+DIST_SUBDIRS += sound
+INCLUDES += \
+        -Isound
+moblin_system_daemon_LDADD += \
+        sound/libsound.la
+dbus_xmlfiles += \
+        sound/sound.xml
+endif
+
 dbus_xmlfiles += dbus-footer.xml
 
 BUILT_SOURCES=moblin-system-server.h \
diff --git a/moblin-system-daemon/lcdbacklight/Makefile.am 
b/moblin-system-daemon/lcdbacklight/Makefile.am
new file mode 100644
index 0000000..5b883c9
--- /dev/null
+++ b/moblin-system-daemon/lcdbacklight/Makefile.am
@@ -0,0 +1,14 @@
+noinst_LTLIBRARIES = liblcdbacklight.la
+
+INCLUDES= \
+       -I$(top_srcdir)/moblin-system-daemon \
+       -I$(top_srcdir)/moblin-system-daemon/lcdbacklight \
+       $(COMMON_CFLAGS) \
+       $(LCDBACKLIGHT_CFLAGS)
+
+liblcdbacklight_la_SOURCES = \
+       lcdbacklight.c lcdbacklight.h
+
+liblcdbacklight_la_LIBADD = \
+       $(COMMON_LIBS) \
+       $(LCDBACKLIGHT_LIBS)
diff --git a/moblin-system-daemon/lcdbacklight/lcdbacklight.c 
b/moblin-system-daemon/lcdbacklight/lcdbacklight.c
new file mode 100644
index 0000000..0a7d98f
--- /dev/null
+++ b/moblin-system-daemon/lcdbacklight/lcdbacklight.c
@@ -0,0 +1,286 @@
+/* -*- mode: c; style: linux -*- */
+
+/* moblin-settings-brightness.c
+ *
+ * Written by Todd Brandt <[EMAIL PROTECTED]>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include <glib-object.h>
+#include <glib.h>
+#include <glib/gi18n.h>
+#include <dbus/dbus-glib.h>
+#include "moblin-system-dbus.h"
+#include "lcdbacklight.h"
+
+#define HAL_DBUS_SERVICE                 "org.freedesktop.Hal"
+#define HAL_DBUS_PATH_MANAGER            "/org/freedesktop/Hal/Manager"
+#define HAL_DBUS_INTERFACE_MANAGER       "org.freedesktop.Hal.Manager"
+#define HAL_DBUS_INTERFACE_DEVICE        "org.freedesktop.Hal.Device"
+#define HAL_DBUS_PATH_LAPTOP_PANEL       
"/org/freedesktop/Hal/Device/LaptopPanel"
+#define HAL_DBUS_INTERFACE_LAPTOP_PANEL  
"org.freedesktop.Hal.Device.LaptopPanel"
+#define HAL_DBUS_INTERFACE_KBD_BACKLIGHT 
"org.freedesktop.Hal.Device.KeyboardBacklight"
+#define HAL_DBUS_INTERFACE_LIGHT_SENSOR  
"org.freedesktop.Hal.Device.LightSensor"
+
+typedef struct _BrightnessControl {
+    DBusGProxy *proxy;
+    DBusGConnection *connection;
+    gchar *udi;
+    guint num_levels;
+    void (*brightness_changed_cb)(DBusGProxy*, guint, MoblinSystemServer*);
+} BrightnessControl;
+
+static GQuark error_quark;
+enum
+{
+       BAD_HAL_CONNECT,
+       HAL_CALL_FAILED,
+       BRIGHTNESS_OUT_OF_RANGE
+};
+
+static BrightnessControl bctl;
+static MoblinSystemServer *svr = NULL;
+
+gboolean
+system_daemon_get_lcdbacklight_numlevels(MoblinSystemServer *server,
+       gint *num_levels, GError **error)
+{
+       *num_levels = bctl.num_levels;
+       return TRUE;
+}
+
+gboolean
+system_daemon_get_lcdbacklight_brightness(MoblinSystemServer *server,
+       gint *level, GError **error)
+{
+       GError *derror = NULL;
+       gboolean ret;
+       int brightness = 0;
+       BrightnessControl *bc = &bctl;
+
+       if(bc->proxy == NULL)
+       {
+               g_set_error (error, error_quark, BAD_HAL_CONNECT,
+                       _("Bad HAL connection"));
+               return FALSE;
+       }
+
+       ret = dbus_g_proxy_call (bc->proxy, "GetBrightness", &derror,
+                                G_TYPE_INVALID,
+                                G_TYPE_INT, &brightness,
+                                G_TYPE_INVALID);
+       if (derror) {
+               PRINTF ("DEBUG: ERROR: %s\n", derror->message);
+               g_error_free (derror);
+       }
+       if (ret == TRUE) {
+               *level = (gint)brightness;
+       } else {
+               /* abort as the DBUS method failed */
+               g_set_error (error, error_quark, HAL_CALL_FAILED,
+                       _("HAL function call failed"));
+               return FALSE;
+       }
+
+       return ret;
+}
+
+gboolean
+system_daemon_set_lcdbacklight_brightness(MoblinSystemServer *server,
+       const gint level, GError **error)
+{
+       BrightnessControl *bc = &bctl;
+       GError  *derror = NULL;
+       gboolean ret;
+       int retval;
+
+       if((level < 0)||(level >= bc->num_levels))
+       {
+               g_set_error (error, error_quark, BRIGHTNESS_OUT_OF_RANGE,
+                       _("Brightness value out of bounds"));
+               return FALSE;
+       }
+       if (bc->proxy == NULL)
+       {
+               g_set_error (error, error_quark, BAD_HAL_CONNECT,
+                       _("Bad HAL connection"));
+               return FALSE;
+       }
+
+       ret = dbus_g_proxy_call (bc->proxy, "SetBrightness", &derror,
+                  G_TYPE_INT, (int)level,
+                  G_TYPE_INVALID, G_TYPE_INT, &retval, G_TYPE_INVALID);
+
+       if (derror || ret == FALSE) {
+               g_set_error (error, error_quark, HAL_CALL_FAILED,
+                       _("HAL function call failed"));
+               g_error_free(derror);
+       }
+
+       return ret;
+}
+
+static gint
+GetPropertyInteger(DBusGProxy *proxy, char *prop)
+{
+GError  *error = NULL;
+gint value = -1;
+gboolean ret;
+
+    ret = dbus_g_proxy_call (proxy, "GetPropertyInteger", &error,
+                       G_TYPE_STRING, prop,
+                       G_TYPE_INVALID,
+                       G_TYPE_INT, &value,
+                       G_TYPE_INVALID);
+    if (error) {
+       PRINTF("%s\n", error->message);
+       g_error_free (error);
+    }
+    return value;
+}
+
+static void
+brightness_changed_cb (DBusGProxy *proxy,
+       guint brightness, MoblinSystemServer *server)
+{
+DBusMessage *message;
+DBusConnection *cnct;
+
+    cnct = dbus_g_connection_get_connection(server->connection);
+    message = dbus_message_new_signal(
+       "/org/moblin/SystemDaemon",
+       "org.moblin.SystemDaemon",
+       "LCDBacklightBrightnessChanged");
+    dbus_message_append_args(message,
+       DBUS_TYPE_INT32, (gint *)&brightness,
+       DBUS_TYPE_INVALID);
+    dbus_connection_send(cnct, message, NULL);
+    dbus_connection_flush(cnct);
+    dbus_message_unref(message);
+}
+
+gboolean
+brightness_dbus_connect (MoblinSystemServer *server, 
+       BrightnessControl *bc)
+{
+       DBusGProxy *proxy = NULL;
+       GError *error = NULL;
+       gchar **names = NULL;
+       int i;
+
+       if(bc->connection == NULL)
+       {
+         bc->connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
+         if (error) {
+           PRINTF("WARNING: Could not connect to DBUS daemon: %s", 
+             error->message);
+           g_error_free (error);
+           bc->connection = NULL;
+           return FALSE;
+         }
+         proxy = dbus_g_proxy_new_for_name (bc->connection,
+           HAL_DBUS_SERVICE, HAL_DBUS_PATH_MANAGER, 
+           HAL_DBUS_INTERFACE_MANAGER);
+         dbus_g_proxy_call (proxy, "FindDeviceByCapability", &error,
+           G_TYPE_STRING, "laptop_panel", G_TYPE_INVALID,
+           G_TYPE_STRV, &names, G_TYPE_INVALID);
+         if (error) {
+           PRINTF("%s", error->message);
+           g_error_free (error);
+           bc->connection = NULL;
+           return FALSE;
+         }
+         if (names == NULL || names[0] == NULL) {
+           PRINTF("No devices of capability laptop_panel");
+           if(names) g_free(names);
+           bc->connection = NULL;
+           return FALSE;
+         }
+         bc->udi = g_strdup (names[0]);
+         for (i=0; names[i]; i++) {
+           g_free (names[i]);
+         }
+         g_free (names);
+       }
+
+       if (bc->proxy == NULL) {
+         proxy = dbus_g_proxy_new_for_name(bc->connection,
+               HAL_DBUS_SERVICE, bc->udi,
+               HAL_DBUS_INTERFACE_DEVICE);
+         if (proxy == NULL) {
+           PRINTF("Cannot connect, maybe the daemon is not running\n");
+           return FALSE;
+         }
+         bc->num_levels = 
+               GetPropertyInteger(proxy, "laptop_panel.num_levels") - 1;
+         if(bc->num_levels < 0) {
+           PRINTF("no brightness levels supported\n");
+           return FALSE;
+         }
+
+         bc->proxy = dbus_g_proxy_new_for_name(bc->connection,
+           HAL_DBUS_SERVICE, bc->udi,
+           HAL_DBUS_INTERFACE_LAPTOP_PANEL);
+         if (bc->proxy == NULL) {
+           PRINTF("Cannot connect, maybe the daemon is not running\n");
+           return FALSE;
+         }
+
+         if(bc->brightness_changed_cb != NULL)
+         {
+           dbus_g_proxy_add_signal (bc->proxy, "BrightnessChanged",
+             G_TYPE_UINT, G_TYPE_INVALID);
+           dbus_g_proxy_connect_signal (bc->proxy, "BrightnessChanged",
+             G_CALLBACK (bc->brightness_changed_cb), server, NULL);
+         }
+       }
+       return TRUE;
+}
_______________________________________________
Commits mailing list
[email protected]
https://www.moblin.org/mailman/listinfo/commits

Reply via email to