From: <svn...@op...> - 2009-03-28 14:03:16
|
Author: dgollub Date: Sat Mar 28 15:03:04 2009 New Revision: 5375 URL: http://www.opensync.org/changeset/5375 Log: Ported file-sync plugin to latest hasthable API change (#1082). fixes #1082 Modified: plugins/file-sync/src/file_sync.c plugins/file-sync/src/file_sync.h Modified: plugins/file-sync/src/file_sync.c ============================================================================== --- plugins/file-sync/src/file_sync.c Sat Mar 28 14:59:51 2009 (r5374) +++ plugins/file-sync/src/file_sync.c Sat Mar 28 15:03:04 2009 (r5375) @@ -30,9 +30,6 @@ if (dir->sink) osync_objtype_sink_unref(dir->sink); - if (dir->hashtable) - osync_hashtable_unref(dir->hashtable); - g_free(dir); } @@ -260,6 +257,7 @@ osync_trace(TRACE_ENTRY, "%s(%p, %s, %p)", __func__, directory, subdir, ctx); OSyncFormatEnv *formatenv = osync_plugin_info_get_format_env(info); + OSyncHashTable *hashtable = osync_objtype_sink_get_hashtable(directory->sink); path = g_build_filename(directory->path, subdir, NULL); osync_trace(TRACE_INTERNAL, "path %s", path); @@ -310,10 +308,10 @@ osync_change_set_hash(change, hash); g_free(hash); - OSyncChangeType type = osync_hashtable_get_changetype(directory->hashtable, change); + OSyncChangeType type = osync_hashtable_get_changetype(hashtable, change); osync_change_set_changetype(change, type); - osync_hashtable_update_change(directory->hashtable, change); + osync_hashtable_update_change(hashtable, change); if (type == OSYNC_CHANGE_TYPE_UNMODIFIED) { g_free(filename); @@ -390,11 +388,13 @@ OSyncFileDir *dir = userdata; OSyncFormatEnv *formatenv = osync_plugin_info_get_format_env(info); + OSyncHashTable *hashtable = osync_objtype_sink_get_hashtable(sink); + OSyncError *error = NULL; if (slow_sync) { osync_trace(TRACE_INTERNAL, "Slow sync requested"); - if (!osync_hashtable_slowsync(dir->hashtable, &error)) + if (!osync_hashtable_slowsync(hashtable, &error)) { osync_context_report_osyncerror(ctx, error); osync_trace(TRACE_EXIT_ERROR, "%s - %s", __func__, osync_error_print(&error)); @@ -407,7 +407,7 @@ osync_filesync_report_dir(dir, info, NULL, ctx); - OSyncList *u, *uids = osync_hashtable_get_deleted(dir->hashtable); + OSyncList *u, *uids = osync_hashtable_get_deleted(hashtable); for (u = uids; u; u = u->next) { OSyncChange *change = osync_change_new(&error); if (!change) { @@ -436,7 +436,7 @@ osync_context_report_change(ctx, change); - osync_hashtable_update_change(dir->hashtable, change); + osync_hashtable_update_change(hashtable, change); osync_change_unref(change); } @@ -451,6 +451,7 @@ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p, %p)", __func__, sink, info, ctx, change, userdata); OSyncFileDir *dir = userdata; + OSyncHashTable *hashtable = osync_objtype_sink_get_hashtable(sink); char *filename = NULL, *tmp; @@ -476,7 +477,7 @@ } g_free(filename); - osync_hashtable_update_change(dir->hashtable, change); + osync_hashtable_update_change(hashtable, change); g_free(hash); osync_context_report_success(ctx); @@ -496,9 +497,6 @@ if (!osync_anchor_update(anchor, dir->path, &error)) goto error; - if (!osync_hashtable_save(dir->hashtable, &error)) - goto error; - osync_context_report_success(ctx); osync_trace(TRACE_EXIT, "%s", __func__); @@ -581,16 +579,8 @@ /* Request an anchor from the framework. */ osync_objtype_sink_enable_anchor(dir->sink, TRUE); - osync_trace(TRACE_INTERNAL, "The configdir: %s", osync_plugin_info_get_configdir(info)); - char *tablepath = g_strdup_printf("%s/hashtable.db", osync_plugin_info_get_configdir(info)); - dir->hashtable = osync_hashtable_new(tablepath, objtype, error); - g_free(tablepath); - - if (!dir->hashtable) - goto error_free_env; - - if (!osync_hashtable_load(dir->hashtable, error)) - goto error_free_env; + /* Request an hashtable from the framework. */ + osync_objtype_sink_enable_hashtable(dir->sink, TRUE); } if (pathes) { Modified: plugins/file-sync/src/file_sync.h ============================================================================== --- plugins/file-sync/src/file_sync.h Sat Mar 28 14:59:51 2009 (r5374) +++ plugins/file-sync/src/file_sync.h Sat Mar 28 15:03:04 2009 (r5375) @@ -45,7 +45,6 @@ OSyncObjFormat *objformat_output; const char *path; GDir *dir; - OSyncHashTable *hashtable; OSyncObjTypeSink *sink; osync_bool recursive; OSyncFileEnv *env; |