gboolean gom_repository_automatic_migrate_finish (GomRepository *repository, GAsyncResult *result, GError **error) { g_return_val_if_fail(GOM_IS_REPOSITORY(repository), FALSE); g_return_val_if_fail(G_IS_SIMPLE_ASYNC_RESULT(result), FALSE); g_object_set_data(G_OBJECT(repository), "object-types", NULL); return gom_repository_migrate_finish(repository, result, error); }
static void migrate_cb (GObject *object, GAsyncResult *result, gpointer user_data) { gboolean ret; GError *error = NULL; ret = gom_repository_migrate_finish (GOM_REPOSITORY (object), result, &error); if (!ret) { GRL_WARNING ("Failed to migrate database: %s", error->message); g_error_free (error); } }
static void migrate_cb (GObject *object, GAsyncResult *result, gpointer user_data) { GomRepository *repository = (GomRepository *)object; GomAdapter *adapter; gboolean ret; GError *error = NULL; ret = gom_repository_migrate_finish(repository, result, &error); g_assert_no_error(error); g_assert(ret); adapter = gom_repository_get_adapter(repository); gom_adapter_close_async(adapter, close_cb, user_data); }
static void migrate_cb (GObject *object, GAsyncResult *result, gpointer user_data) { GomRepository *repository = (GomRepository *)object; GomAdapter *adapter; gboolean ret; GError *error = NULL; GomResource *resource; GomFilter *filter; GValue value = { 0, }; char *url, *thumbnail_url; gboolean favourite; ret = gom_repository_migrate_finish(repository, result, &error); g_assert_no_error(error); g_assert(ret); /* Get the item containing "sherwood" */ g_value_init(&value, G_TYPE_STRING); g_value_set_string(&value, "%sherwood%"); filter = gom_filter_new_like(BOOKMARKS_TYPE_RESOURCE, "title", &value); g_value_unset(&value); resource = gom_repository_find_one_sync(repository, BOOKMARKS_TYPE_RESOURCE, filter, &error); g_assert_no_error(error); g_assert(resource); g_object_get(resource, "url", &url, NULL); g_assert_cmpstr(url, ==, "file:///home/hadess/.cache/totem/media/b91c194d5725c4586e583c4963233a3ae3c28ea3e2cc2019f903089911dd6d45"); g_free(url); /* Modify the item */ g_object_set(resource, "url", "file:///tmp/test", "thumbnail-url", "file:///tmp/test-thumbnail", "favourite", TRUE, NULL); ret = gom_resource_save_sync(resource, &error); g_assert_no_error(error); g_assert(ret); g_object_unref(resource); /* Fetch it again */ resource = gom_repository_find_one_sync(repository, BOOKMARKS_TYPE_RESOURCE, filter, &error); g_assert_no_error(error); g_assert(resource); g_object_get(resource, "url", &url, "thumbnail-url", &thumbnail_url, "favourite", &favourite, NULL); g_assert_cmpstr(url, ==, "file:///tmp/test"); g_assert_cmpstr(thumbnail_url, ==, "file:///tmp/test-thumbnail"); g_assert(favourite); g_free(url); g_free(thumbnail_url); g_object_unref(filter); adapter = gom_repository_get_adapter(repository); gom_adapter_close_async(adapter, close_cb, user_data); }