From ecc167430b4a2fd2f9418ef753da62a9f1aab891 Mon Sep 17 00:00:00 2001 From: Srinivasa Ragavan Date: Tue, 18 Oct 2005 09:25:51 +0000 Subject: Added iPod sync e-plugin to experimental plugins. Added plugins/ipod-sync 2005-10-18 Srinivasa Ragavan * configure.in: Added iPod sync e-plugin to experimental plugins. Added plugins/ipod-sync svn path=/trunk/; revision=30523 --- plugins/ipod-sync/evolution-ipod-sync.c | 84 +++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 plugins/ipod-sync/evolution-ipod-sync.c (limited to 'plugins/ipod-sync/evolution-ipod-sync.c') diff --git a/plugins/ipod-sync/evolution-ipod-sync.c b/plugins/ipod-sync/evolution-ipod-sync.c new file mode 100644 index 0000000000..fe31bdb4d7 --- /dev/null +++ b/plugins/ipod-sync/evolution-ipod-sync.c @@ -0,0 +1,84 @@ +/* + * 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 + +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 a iPod failed" + "\n\n" + "Evolution could not find a iPod to synchronize with." + "Either it 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; +} + -- cgit v1.2.3