/* * evolution-ipod-sync.c - Evolution->Ipod synchronisation * * (C)2004 Justin Wake * * Licensed under the GNU GPL v2. See COPYING. * */ #include "config.h" #include "evolution-ipod-sync.h" #include #include #include #include char * mount_point = NULL; LibHalContext *ctx; gboolean ipod_check_status (gboolean silent) { LibHalContext *ctx; DBusConnection *conn; if (check_hal () == FALSE) { if (!silent) { GtkWidget *message = gtk_message_dialog_new_with_markup ( NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "" "Hardware Abstraction Layer not loaded" "\n\n" "The \"hald\" service is required but not currently " "running. Please enable the service and rerun this " "program, or contact your system administrator."); gtk_dialog_run (GTK_DIALOG (message)); gtk_widget_destroy (message); } return FALSE; } conn = dbus_bus_get (DBUS_BUS_SYSTEM, NULL); ctx = libhal_ctx_new (); libhal_ctx_set_dbus_connection (ctx, conn); if (!libhal_ctx_init(ctx, NULL)) return FALSE; mount_point = find_ipod_mount_point (ctx); if (mount_point == NULL) { /* Either the iPod wasn't mounted when we started, or * it wasn't plugged in. Either way, we want to umount * the iPod when we finish syncing. */ if (!silent) { GtkWidget *message = gtk_message_dialog_new_with_markup (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("" "Search for an iPod failed" "\n\n" "Evolution could not find an iPod to synchronize with. " "Either the iPod is not connected to the system or it " "is not powered on.")); gtk_dialog_run (GTK_DIALOG (message)); gtk_widget_destroy (message); } return FALSE; } return TRUE; } char * ipod_get_mount () { return mount_point; }