diff options
Diffstat (limited to 'sync/src/sync_main.c')
-rw-r--r-- | sync/src/sync_main.c | 80 |
1 files changed, 61 insertions, 19 deletions
diff --git a/sync/src/sync_main.c b/sync/src/sync_main.c index dcfbaa7..7881145 100644 --- a/sync/src/sync_main.c +++ b/sync/src/sync_main.c @@ -16,6 +16,7 @@ #include "sync_evo2_item.h" #include "sync_file_item.h" #include "sync_syncml_item.h" +#include "sync_syncml_server_item.h" #if 0 static gboolean sync_clean_backup (SyncData *data) @@ -104,6 +105,26 @@ sync_animate (SyncData *data) } static void +sync_server_started_cb (SyncGroup *group) +{ + g_message ("Server started sync"); +} + +static void +sync_server_finished_cb (SyncGroup *group) +{ + g_message ("Server finished sync"); + sync_group_autostart (group); +} + +static void +sync_server_failed_cb (SyncGroup *group, const gchar *error) +{ + g_warning ("Server sync failed"); + sync_group_autostart (group); +} + +static void sync_started_cb (SyncCollection *collection, SyncData *data) { GtkWidget *widget = glade_xml_get_widget ( @@ -179,46 +200,51 @@ sync_item_activated_cb (GtkIconView *iconview, GtkTreePath *arg1, &iter, COL_NAME, &name, COL_TYPE, &type, -1); switch (type) { - SyncItem *item; + SyncItem *item, *item2; SyncGroup *group; gchar *path; case TYPE_SYNCML: + path = g_strdup_printf (TEMP_PATH, + g_getenv ("HOME")); + item2 = sync_file_item_new ("Test", path); + g_free (path); + /* Contacts SyncML item */ - item = sync_syncml_item_new ("Mobical", - "http://www.mobical.net/sync/server", - CONTACTS, "Cwiiis", "2e9tp2", "con"); + item = sync_syncml_item_new ("Server", + "http://localhost:8080", + CONTACTS, "", "", "card"); group = sync_group_new_with_items ( - data->local_item, item); + item2, item); sync_collection_add_group (data->collection, group); g_object_unref (group); g_object_unref (item); /* Events SyncML item */ - item = sync_syncml_item_new ("Mobical", - "http://www.mobical.net/sync/server", - EVENTS, "Cwiiis", "2e9tp2", "cal"); +/* item = sync_syncml_item_new ("Server", + "http://localhost:8080", + EVENTS, "", "", "cal"); group = sync_group_new_with_items ( - data->local_item, item); + item2, item); sync_collection_add_group (data->collection, group); g_object_unref (group); - g_object_unref (item); + g_object_unref (item);*. /* Todo SyncML item */ - item = sync_syncml_item_new ("Mobical", - "http://www.mobical.net/sync/server", - TODO, "Cwiiis", "2e9tp2", "task"); +/* item = sync_syncml_item_new ("Server", + "http://localhost:8080", + TODO, "", "", "cal"); group = sync_group_new_with_items ( - data->local_item, item); + item2, item); sync_collection_add_group (data->collection, group); g_object_unref (group); - g_object_unref (item); + g_object_unref (item);*/ /* TODO: Check if notes sync works? */ - + g_object_unref (item2); break; case TYPE_FILE: path = g_strdup_printf (TEMP_PATH, @@ -367,6 +393,7 @@ main (int argc, char **argv) GtkIconTheme *icon_theme; gint width = 0, height = 0; SyncData data; + SyncItem *server_item; gtk_init (&argc, &argv); glade_init (); @@ -407,7 +434,22 @@ main (int argc, char **argv) /* Create local sync-item and sync collection */ data.collection = sync_collection_new (); data.local_item = sync_evo2_item_new ("Local", NULL, NULL, NULL); - + + /* Create and start server */ + server_item = sync_syncml_server_item_new ("Server", "", "", + 8080, "card", "cal", "note"); + data.server_group = sync_group_new_with_items ( + server_item, data.local_item); + g_object_unref (server_item); + /* TODO: Conflicts? */ + g_signal_connect (G_OBJECT (data.server_group), "started", + G_CALLBACK (sync_server_started_cb), NULL); + g_signal_connect (G_OBJECT (data.server_group), "finished", + G_CALLBACK (sync_server_finished_cb), NULL); + g_signal_connect (G_OBJECT (data.server_group), "failed", + G_CALLBACK (sync_server_failed_cb), NULL); + sync_group_autostart (data.server_group); + /* Insert some items for testing (TODO: look at loading groups later) */ gtk_list_store_insert_with_values (GTK_LIST_STORE (data.model), &iter, G_MAXINT, COL_NAME, "SyncML Test", COL_TYPE, TYPE_SYNCML, @@ -417,7 +459,7 @@ main (int argc, char **argv) COL_PIXBUF, data.backup_icon, -1); /* Insert preset items */ - gtk_list_store_insert_with_values (GTK_LIST_STORE (data.model), &iter, +/* gtk_list_store_insert_with_values (GTK_LIST_STORE (data.model), &iter, G_MAXINT, COL_NAME, "Backup", COL_TYPE, TYPE_BACKUP, COL_PIXBUF, data.backup_icon, -1); gtk_list_store_insert_with_values (GTK_LIST_STORE (data.model), &iter, @@ -425,7 +467,7 @@ main (int argc, char **argv) COL_PIXBUF, data.restore_icon, -1); gtk_list_store_insert_with_values (GTK_LIST_STORE (data.model), &iter, G_MAXINT, COL_NAME, "Add target...", COL_TYPE, TYPE_ADD_NEW, - COL_PIXBUF, data.add_icon, -1); + COL_PIXBUF, data.add_icon, -1);*/ /* TODO: Avahi detection of local sync servers? */ /* TODO: Bluetooth scanning? */ |