[patch] gfloppy port to new HAL 0.5.0 api
- From: "John (J5) Palmieri" <johnp redhat com>
- To: Desktop Hackers <desktop-devel-list gnome org>
- Subject: [patch] gfloppy port to new HAL 0.5.0 api
- Date: Wed, 09 Mar 2005 11:59:39 -0500
Not sure which list to send this to so I figure I would send it here.
This is the port of the hal code in gfloppy
from the gnome-utils tarball.
--
John (J5) Palmieri
Associate Software Engineer
Desktop Group
Red Hat, Inc.
Blog: http://martianrock.com
--- gnome-utils-2.9.92/gfloppy/src/main.c.gfloppy_new_hal_api 2005-01-24 10:54:50.000000000 -0500
+++ gnome-utils-2.9.92/gfloppy/src/main.c 2005-03-08 14:58:09.411484000 -0500
@@ -153,6 +153,37 @@
#define HAL_FLOPPY_DEV_KEY "block.device"
+static LibHalContext *
+get_hal_context ()
+{
+ LibHalContext *hal_ctx;
+ hal_ctx = NULL;
+
+ hal_ctx = libhal_ctx_new ();
+ if (hal_ctx) {
+ DBusConnection *dbus_conn;
+ DBusError error;
+
+ dbus_error_init (&error);
+ dbus_conn = dbus_bus_get (DBUS_BUS_SYSTEM, &error);
+
+ if (dbus_error_is_set (&error)) {
+ dbus_error_free (&error);
+ return NULL;
+ }
+
+ libhal_ctx_set_dbus_connection (hal_ctx, dbus_conn);
+
+ if (!libhal_ctx_init (hal_ctx, &error)) {
+ dbus_error_free (&error);
+ libhal_ctx_free (hal_ctx);
+ return NULL;
+ }
+ }
+
+ return hal_ctx;
+}
+
static FloppyStatus *
get_hal_floppies (gint *num_devices, gint *num_ok, LibHalContext *ctx)
{
@@ -160,10 +191,11 @@
gchar **device_list;
FloppyStatus *floppies;
- device_list = hal_manager_find_device_string_match (ctx,
- HAL_FLOPPY_KEY,
- HAL_FLOPPY_VALUE,
- num_devices);
+ device_list = libhal_manager_find_device_string_match (ctx,
+ HAL_FLOPPY_KEY,
+ HAL_FLOPPY_VALUE,
+ num_devices,
+ NULL);
floppies = NULL;
@@ -174,9 +206,10 @@
for (i = 0; i < *num_devices; i++) {
floppies[i].device_path =
- hal_device_get_property_string (ctx,
+ libhal_device_get_property_string (ctx,
device_list[i],
- HAL_FLOPPY_DEV_KEY);
+ HAL_FLOPPY_DEV_KEY,
+ NULL);
floppies[i].status = test_floppy_device (floppies[i].device_path);
@@ -184,7 +217,7 @@
(*num_ok)++;
}
- hal_free_string_array (device_list);
+ libhal_free_string_array (device_list);
} else {
*num_devices = 1;
@@ -554,7 +587,7 @@
GNOME_PARAM_APP_DATADIR,DATADIR,NULL);
#ifdef USE_HAL
- ctx = (gpointer) hal_initialize (NULL, FALSE);
+ ctx = (gpointer)get_hal_context ();
#endif
gtk_window_set_default_icon_name ("gnome-dev-floppy");
@@ -694,7 +727,14 @@
g_object_unref (G_OBJECT (client));
#ifdef USE_HAL
- hal_shutdown (ctx);
+ if (ctx != NULL) {
+ DBusError derror;
+ libhal_ctx_shutdown ((LibHalContext *)ctx, &derror);
+ if (dbus_error_is_set (&derror))
+ dbus_error_free (&derror);
+
+ libhal_ctx_free ((LibHalContext *)ctx);
+ }
#endif
return 0;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]